Module: Ribbon::EventBus

Defined in:
lib/ribbon/event_bus.rb,
lib/ribbon/event_bus/event.rb,
lib/ribbon/event_bus/config.rb,
lib/ribbon/event_bus/errors.rb,
lib/ribbon/event_bus/mixins.rb,
lib/ribbon/event_bus/plugins.rb,
lib/ribbon/event_bus/version.rb,
lib/ribbon/event_bus/instance.rb,
lib/ribbon/event_bus/publishers.rb,
lib/ribbon/event_bus/subscription.rb,
lib/ribbon/event_bus/plugins/plugin.rb,
lib/ribbon/event_bus/mixins/has_config.rb,
lib/ribbon/event_bus/mixins/serializable.rb,
lib/ribbon/event_bus/publishers/publisher.rb,
lib/ribbon/event_bus/plugins/logging_plugin.rb,
lib/ribbon/event_bus/publishers/proc_publisher.rb,
lib/ribbon/event_bus/publishers/resque_publisher.rb,
lib/ribbon/event_bus/publishers/remote_resque_publisher.rb

Defined Under Namespace

Modules: Errors, Mixins, Plugins, Publishers Classes: Config, Event, Instance, Subscription

Constant Summary collapse

VERSION =
"0.4.0"
DEFAULT_CONFIG_PATH =
File.expand_path('../../../../config/defaults.yml', __FILE__).freeze

Class Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(meth, *args, &block) ⇒ Object (private)



14
15
16
# File 'lib/ribbon/event_bus.rb', line 14

def method_missing(meth, *args, &block)
  instance.send(meth, *args, &block)
end

Class Method Details

._register_instance(instance) ⇒ Object



26
27
28
29
30
31
32
# File 'lib/ribbon/event_bus.rb', line 26

def _register_instance(instance)
  if _registered_instances.key?(instance.name)
    raise Errors::DuplicateInstanceNameError, instance.name
  else
    _registered_instances[instance.name] = instance
  end
end

._registered_instancesObject



22
23
24
# File 'lib/ribbon/event_bus.rb', line 22

def _registered_instances
  @__registered_instances ||= {}
end

.instance(name = :primary) ⇒ Object



18
19
20
# File 'lib/ribbon/event_bus.rb', line 18

def instance(name=:primary)
  _registered_instances[name.to_sym] || Instance.new(name)
end

.method_missing(meth, *args, &block) ⇒ Object



14
15
16
# File 'lib/ribbon/event_bus.rb', line 14

def method_missing(meth, *args, &block)
  instance.send(meth, *args, &block)
end