Sha256: e6ce3a01d2842e241975f88de4be3f9493f4e89a0cb0299dd088cc8aff33540e
Contents?: true
Size: 1.1 KB
Versions: 14
Compression:
Stored size: 1.1 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], &block) Evostream.logger "Execute action for event #{class_name}" type_flux.each(&block) if block @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/event/events/in_stream_created' require 'evostream/event/event/events/in_stream_closed' require 'evostream/event/event/events/out_stream_created'
Version data entries
14 entries across 14 versions & 1 rubygems