Class: Evostream::Events::Event

Inherits:
Object
  • Object
show all
Defined in:
lib/evostream/event/event/events.rb

Overview

Class parent for all event

Direct Known Subclasses

InStreamClosed, InStreamCreated, OutStreamCreated

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(id_flux) ⇒ Event

Returns a new instance of Event.



8
9
10
11
12
13
# File 'lib/evostream/event/event/events.rb', line 8

def initialize(id_flux)
  Evostream.logger "Initialize event #{class_name}"
  @id_flux = id_flux
  @model = Service.model.find_by(Service.model_id => id_flux)
  @result = nil
end

Class Method Details

.all_eventObject



29
30
31
32
33
# File 'lib/evostream/event/event/events.rb', line 29

def self.all_event
  descendants.collect do |klass|
    klass.to_s.split('::').last.camelize(:lower)
  end
end

.descendantsObject



25
26
27
# File 'lib/evostream/event/event/events.rb', line 25

def self.descendants
  ObjectSpace.each_object(Class).select { |klass| klass < self }
end

Instance Method Details

#class_nameObject



21
22
23
# File 'lib/evostream/event/event/events.rb', line 21

def class_name
  self.class.name.demodulize
end

#execute(type_flux = %w[hls dash])) ⇒ Object



15
16
17
18
19
# File 'lib/evostream/event/event/events.rb', line 15

def execute(type_flux = %w[hls dash])
  Evostream.logger "Execute action for event #{class_name}"
  type_flux.each { |flux| yield(flux) } if block_given?
  @result
end