This is meant to avoid the need to use a broker in development, and generally make development mode easier
'abstract' base class for ActiveMessaging filter classes
'abstract' base class for ActiveMessaging processor classes
# File lib/activemessaging.rb, line 42 def self.app_env @@app_env ||= (ENV['APP_ENV'] || (defined?(::Rails) && ::Rails.env) || ENV['RAILS_ENV'] || 'development') end
# File lib/activemessaging.rb, line 38 def self.app_root @@app_root ||= (ENV['APP_ROOT'] || (defined?(::Rails) && ::Rails.root) || ENV['RAILS_ROOT'] || File.expand_path(Dir.pwd)) end
# File lib/activemessaging.rb, line 98 def self.load_activemessaging load_extensions load_config load_processors end
# File lib/activemessaging.rb, line 67 def self.load_config path = File.expand_path("#{app_root}/config/messaging.rb") begin load path rescue raise $!, " ActiveMessaging: problems trying to load '#{path}': \n\t#{$!.message}" end end
# File lib/activemessaging.rb, line 46 def self.load_extensions require 'logger' require 'activemessaging/gateway' require 'activemessaging/threaded_poller' require 'activemessaging/adapter' require 'activemessaging/message_sender' require 'activemessaging/processor' require 'activemessaging/filter' require 'activemessaging/trace_filter' # load all under the adapters dir Dir[File.join(ROOT, 'lib', 'activemessaging', 'adapters', '*.rb')].each do |a| begin adapter_name = File.basename(a, ".rb") require 'activemessaging/adapters/' + adapter_name rescue RuntimeError, LoadError => e logger.warn "ActiveMessaging: adapter #{adapter_name} not loaded: #{ e.message }" end end end
# File lib/activemessaging.rb, line 76 def self.load_processors(first=true) logger.info "ActiveMessaging: Loading #{app_root}/app/processors/application_processor.rb" if first load "#{app_root}/app/processors/application_processor.rb" if File.exist?("#{app_root}/app/processors/application_processor.rb") Dir["#{app_root}/app/processors/*.rb"].each do |f| unless f.match(/\/application_processor.rb/) logger.info "ActiveMessaging: Loading #{f}" if first load f end end end
# File lib/activemessaging.rb, line 27 def self.logger @@logger = nil unless defined? @@logger @@logger ||= Rails.logger if defined? Rails @@logger ||= Logger.new(STDOUT) @@logger end
# File lib/activemessaging.rb, line 34 def self.logger=(logger) @@logger = logger end
# File lib/activemessaging.rb, line 87 def self.reload_activemessaging # this is resetting the messaging.rb ActiveMessaging::Gateway.filters = [] ActiveMessaging::Gateway.named_destinations = {} ActiveMessaging::Gateway.processor_groups = {} # now load the config load_config load_processors(false) end
# File lib/activemessaging.rb, line 104 def self.start if ActiveMessaging::Gateway.subscriptions.empty? err_msg = ActiveMessaging Error: No subscriptions. If you have no processor classes in app/processors, add them using the command: script/generate processor DoSomething" If you have processor classes, make sure they include in the class a call to 'subscribes_to': class DoSomethingProcessor < ActiveMessaging::Processor subscribes_to :do_something # ... end puts err_msg logger.error err_msg exit end Gateway.start end
Generated with the Darkfish Rdoc Generator 2.