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
45 46 47 |
# File 'lib/active_event/event_source_server.rb', line 45 def @options ||= (ARGV) end |
Instance Method Details
#config_file ⇒ Object
41 42 43 |
# File 'lib/active_event/event_source_server.rb', line 41 def config_file File.('config/disco.yml', Rails.root) end |
#default_options ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/active_event/event_source_server.rb', line 24 def { event_connection: { scheme: 'amqp', userinfo: nil, host: '127.0.0.1', port: 9797, }, event_exchange: 'events' } end |
#env ⇒ Object
49 50 51 |
# File 'lib/active_event/event_source_server.rb', line 49 def env @env = ENV['PROJECTION_ENV'] || ENV['RAILS_ENV'] || ENV['RACK_ENV'] || 'development' end |
#event_channel ⇒ Object
16 17 18 |
# File 'lib/active_event/event_source_server.rb', line 16 def event_channel @event_channel ||= event_connection.create_channel end |
#event_connection ⇒ Object
12 13 14 |
# File 'lib/active_event/event_source_server.rb', line 12 def event_connection @event_server ||= Bunny.new URI::Generic.build([:event_connection]).to_s end |
#event_exchange ⇒ Object
20 21 22 |
# File 'lib/active_event/event_source_server.rb', line 20 def event_exchange @event_exchange ||= event_channel.fanout "server_side_#{[:event_exchange]}" end |
#event_queue ⇒ Object
8 9 10 |
# File 'lib/active_event/event_source_server.rb', line 8 def event_queue @event_queue ||= event_channel.queue('', auto_delete: true).bind(event_exchange) end |
#parse_options(args) ⇒ Object
36 37 38 39 |
# File 'lib/active_event/event_source_server.rb', line 36 def (args) = .merge! YAML.load_file(config_file)[env].deep_symbolize_keys! unless config_file.blank? end |
#subscribe_to(queue, &block) ⇒ Object
4 5 6 |
# File 'lib/active_event/event_source_server.rb', line 4 def subscribe_to(queue, &block) queue.subscribe(block: true, &block) end |