Module: Ventable::Event

Defined in:
lib/ventable/event.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



11
12
13
14
15
16
17
18
19
20
# File 'lib/ventable/event.rb', line 11

def self.included(klass)
  klass.instance_eval do
    @observers = Set.new
    class << self
      attr_accessor :observers
    end
  end

  klass.extend ClassMethods
end

Instance Method Details

#fire!Object Also known as: publish



22
23
24
# File 'lib/ventable/event.rb', line 22

def fire!
  notify_observer_set(self.class.observers) if Ventable.enabled?
end