Module: ActiveEvent::EventSourceServer
- Defined in:
- lib/active_event/event_source_server.rb
Instance Attribute Summary collapse
Instance Method Summary collapse
- #config_file ⇒ Object
- #default_options ⇒ Object
- #env ⇒ Object
- #event_channel ⇒ Object
- #event_connection ⇒ Object
- #event_exchange ⇒ Object
- #event_queue ⇒ Object
- #parse_options(args) ⇒ Object
- #subscribe_to(queue, &block) ⇒ Object
Instance Attribute Details
#options ⇒ Object
46 47 48 |
# File 'lib/active_event/event_source_server.rb', line 46 def ||= (ARGV) end |
Instance Method Details
#config_file ⇒ Object
42 43 44 |
# File 'lib/active_event/event_source_server.rb', line 42 def config_file File.('config/disco.yml', Rails.root) end |
#default_options ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/active_event/event_source_server.rb', line 25 def { event_connection: { scheme: 'amqp', userinfo: nil, host: '127.0.0.1', port: 9797, }, event_exchange: 'events' } end |
#env ⇒ Object
50 51 52 |
# File 'lib/active_event/event_source_server.rb', line 50 def env @env = ENV['PROJECTION_ENV'] || ENV['RAILS_ENV'] || ENV['RACK_ENV'] || 'development' end |
#event_channel ⇒ Object
17 18 19 |
# File 'lib/active_event/event_source_server.rb', line 17 def event_channel @event_channel ||= event_connection.create_channel end |
#event_connection ⇒ Object
13 14 15 |
# File 'lib/active_event/event_source_server.rb', line 13 def event_connection @event_server ||= Bunny.new URI::Generic.build([:event_connection]).to_s end |
#event_exchange ⇒ Object
21 22 23 |
# File 'lib/active_event/event_source_server.rb', line 21 def event_exchange @event_exchange ||= event_channel.fanout [:event_exchange] end |
#event_queue ⇒ Object
9 10 11 |
# File 'lib/active_event/event_source_server.rb', line 9 def event_queue @event_queue ||= event_channel.queue('', auto_delete: true).bind(event_exchange) end |
#parse_options(args) ⇒ Object
37 38 39 40 |
# File 'lib/active_event/event_source_server.rb', line 37 def (args) = .merge! YAML.load_file(config_file)[env].deep_symbolize_keys! unless config_file.blank? end |
#subscribe_to(queue, &block) ⇒ Object
5 6 7 |
# File 'lib/active_event/event_source_server.rb', line 5 def subscribe_to(queue, &block) queue.subscribe(block: true, &block) end |