Sha256: f9072399ff2c43d7a242543f3d9c19dd68a06b5a8e728da73a22df21895b36f1

Contents?: true

Size: 966 Bytes

Versions: 7

Compression:

Stored size: 966 Bytes

Contents

# frozen_string_literal: true

module Evostream
  module Events
    # Action OutStreamCreated
    class OutStreamCreated < Event
      def initialize(id_flux, request)
        super(id_flux)
        @request = request
      end

      def execute
        super
        stream = what_flux.constantize
        model.streams.push(stream.new(config_id: ex_config, flux: ex_flux))
      end

      private

      def what_flux
        @request.key?('hlsSettings') ? 'Hls' : 'Dash'
      end

      def name_flux
        case what_flux
        when 'Hls' then 'playlistName'
        when 'Dash' then 'manifestName'
        end
      end

      def name_settings
        @request["#{what_flux.downcase}Settings"]
      end

      def ex_config
        name_settings['configId']
      end

      def ex_flux
        Evostream::Service.uri_out + '/' + name_settings['groupName'] + '/' +
          @request['name'] + '/' + name_settings[name_flux]
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
evostream-event-0.1.1 lib/evostream/event/events/out_stream_created.rb
evostream-event-0.1.0 lib/evostream/events/out_stream_created.rb
evostream-event-0.1.0.pre.14 lib/evostream/events/out_stream_created.rb
evostream-event-0.1.0.pre.10 lib/evostream/events/out_stream_created.rb
evostream-event-0.1.0.pre.9 lib/evostream/events/out_stream_created.rb
evostream-event-0.1.0.pre.42 lib/evostream/events/out_stream_created.rb
evostream-event-0.1.0.pre.6 lib/evostream/events/out_stream_created.rb