fic_tracker/lib/fic_tracker.rb

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'