60 lines
1 KiB
Ruby
60 lines
1 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'logging'
|
|
|
|
require_relative 'fic_tracker/version'
|
|
|
|
module FicTracker
|
|
class Error < StandardError; end
|
|
|
|
class ConfigError < Error; end
|
|
|
|
def self.logger
|
|
@logger ||= Logging.logger[self].tap do |logger|
|
|
logger.add_appenders ::Logging.appenders.stdout
|
|
logger.level = :warn
|
|
end
|
|
end
|
|
|
|
def self.configure!
|
|
Config.load!
|
|
end
|
|
|
|
def self.cache
|
|
configure! unless @cache
|
|
@cache
|
|
end
|
|
|
|
def self.cache=(cache)
|
|
@cache = cache
|
|
end
|
|
|
|
def self.database
|
|
configure! unless @database
|
|
@database
|
|
end
|
|
|
|
def self.database=(database)
|
|
@database = database
|
|
end
|
|
|
|
def self.debug!
|
|
logger.level = :debug
|
|
end
|
|
|
|
def self.logger=(global_logger)
|
|
@logger = global_logger
|
|
@global_logger = !global_logger.nil?
|
|
end
|
|
|
|
def self.global_logger?
|
|
@global_logger ||= false
|
|
end
|
|
|
|
autoload :Models, 'fic_tracker/models'
|
|
autoload :Renderers, 'fic_tracker/renderers'
|
|
autoload :Tasks, 'fic_tracker/tasks'
|
|
end
|
|
|
|
require_relative 'fic_tracker/backend'
|
|
require_relative 'fic_tracker/config'
|