module Emque::Consuming::Core
Attributes
instance[RW]
root[RW]
router[RW]
topic_mapping[RW]
Public Class Methods
extended(descendant)
click to toggle source
# File lib/emque/consuming/core.rb, line 12 def self.extended(descendant) descendant.class_eval do class << self attr_accessor :root, :topic_mapping, :router, :instance alias :configure :instance_exec end end end
Public Instance Methods
config()
click to toggle source
# File lib/emque/consuming/core.rb, line 40 def config @config ||= Emque::Consuming::Configuration.new end
emque_env()
click to toggle source
# File lib/emque/consuming/core.rb, line 86 def emque_env config.env_var || ENV["EMQUE_ENV"] || "development" end
initialize_core!()
click to toggle source
# File lib/emque/consuming/core.rb, line 22 def initialize_core! unless root call_stack = caller_locations.map(&:path) self.root = File.expand_path( "../..", call_stack.find { |call| call !~ %r{lib/emque} } ) end self.topic_mapping = {} config.app_name = Inflecto.underscore(to_s).gsub("/application","") load_app! initialize_environment! initialize_router! end
initialize_environment!()
click to toggle source
# File lib/emque/consuming/core.rb, line 44 def initialize_environment! require_relative File.join( root, "config", "environments", "#{emque_env}.rb" ) end
initialize_logger(daemonized: false)
click to toggle source
# File lib/emque/consuming/core.rb, line 53 def initialize_logger(daemonized: false) target = daemonized ? logfile : STDOUT Emque::Consuming::Logging.initialize_logger(target) Emque::Consuming.logger.level = config.log_level Emque::Consuming.logger.formatter = config.log_formatter Celluloid.logger = Emque::Consuming.logger end
initialize_router!()
click to toggle source
# File lib/emque/consuming/core.rb, line 61 def initialize_router! self.router ||= Emque::Consuming::Router.new require_relative File.join(root, "config", "routes.rb") end
load_app!()
click to toggle source
# File lib/emque/consuming/core.rb, line 66 def load_app! app_files = Dir[File.join(root, "app", "**", "*.rb")] app_files.each do |app_file| klass = Inflecto.classify(File.basename(app_file, ".rb")) emque_autoload(klass.to_sym, app_file) end end
logfile()
click to toggle source
# File lib/emque/consuming/core.rb, line 75 def logfile @logfile ||= File.join(root, "log/#{emque_env}.log").tap do |path| directory = File.dirname(path) Dir.mkdir(directory) unless File.exist?(directory) end end
logger()
click to toggle source
# File lib/emque/consuming/core.rb, line 82 def logger Emque::Consuming.logger end