Sha256: 7c12ebb7f9081553d76f49ed5d22e25ac8e9b39095980e906fbb4098ad5dbb1a
Contents?: true
Size: 813 Bytes
Versions: 4
Compression:
Stored size: 813 Bytes
Contents
require 'micro/observers/version' module Micro module Observers require 'micro/observers/utils' require 'micro/observers/events_or_actions' require 'micro/observers/manager' module ClassMethods def notify_observers!(with:) proc { |object| with.each { |evt_or_act| object.observers.notify(evt_or_act) } } end def notify_observers(*events) notify_observers!(with: EventsOrActions[events]) end def call_observers(options = Utils::EMPTY_HASH) notify_observers!(with: EventsOrActions.fetch_actions(options)) end end def self.included(base) base.extend(ClassMethods) base.send(:private_class_method, :notify_observers!) end def observers @observers ||= Observers::Manager.for(self) end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
u-observers-0.8.0 | lib/micro/observers.rb |
u-observers-0.7.0 | lib/micro/observers.rb |
u-observers-0.6.0 | lib/micro/observers.rb |
u-observers-0.5.0 | lib/micro/observers.rb |