Sha256: a5d4845a7ec1807f2011ae9bce99e5451971d6f4d9909c2ebbe2c68b7d93bc33
Contents?: true
Size: 1.09 KB
Versions: 3
Compression:
Stored size: 1.09 KB
Contents
# frozen_string_literal: true module Evostream # Gem Evostream::Event module Events # Class parent for all event class Event 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 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 def class_name self.class.name.demodulize end def self.descendants ObjectSpace.each_object(Class).select { |klass| klass < self } end def self.all_event descendants.collect do |klass| klass.to_s.split('::').last.camelize(:lower) end end private attr_reader :id_flux, :model attr_accessor :result end end end require 'evostream/event/events/in_stream_created' require 'evostream/event/events/in_stream_closed' require 'evostream/event/events/out_stream_created'
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
evostream-event-0.2.5 | lib/evostream/event/events.rb |
evostream-event-0.2.5.pre.35 | lib/evostream/event/events.rb |
evostream-event-0.2.5.pre.34 | lib/evostream/event/events.rb |