Module: Emque::Consuming::Core
- Defined in:
- lib/emque/consuming/core.rb
Class Method Summary collapse
Instance Method Summary collapse
- #config ⇒ Object
- #emque_env ⇒ Object
- #initialize_core! ⇒ Object
- #initialize_environment! ⇒ Object
- #initialize_logger(daemonized: false) ⇒ Object
- #initialize_router! ⇒ Object
- #load_app! ⇒ Object
- #logfile ⇒ Object
- #logger ⇒ Object
Class Method Details
.extended(descendant) ⇒ Object
12 13 14 15 16 17 18 19 20 |
# 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 |
Instance Method Details
#config ⇒ Object
40 41 42 |
# File 'lib/emque/consuming/core.rb', line 40 def config @config ||= Emque::Consuming::Configuration.new end |
#emque_env ⇒ Object
86 87 88 |
# File 'lib/emque/consuming/core.rb', line 86 def emque_env config.env_var || ENV["EMQUE_ENV"] || "development" end |
#initialize_core! ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/emque/consuming/core.rb', line 22 def initialize_core! unless root call_stack = caller_locations.map(&:path) self.root = File.( "../..", 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! ⇒ Object
44 45 46 47 48 49 50 51 |
# 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) ⇒ Object
53 54 55 56 57 58 59 |
# 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! ⇒ Object
61 62 63 64 |
# 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! ⇒ Object
66 67 68 69 70 71 72 73 |
# 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 ⇒ Object
75 76 77 78 79 80 |
# 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 |