Sha256: 9d0d0a1aeb0c7c5bfdbadea0956d4e96074858c2f694fc56d077be61126f7b4b

Contents?: true

Size: 1.05 KB

Versions: 5

Compression:

Stored size: 1.05 KB

Contents

# frozen_string_literal: true

# :reek:UncommunicativeMethodName

module Evostream
  # Manage command
  module Commands
    # Class parent for all command
    class Command
      def initialize(commands = {})
        @command = []
        commands.each do |command_name, command_param|
          @command.push send(command_name, command_param)
        end
      end

      def cmd
        Evostream.logger "Command before encode : #{@command}"
      end

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

      private

      # Encode commands in base 64 with space between each command
      def encode_64
        Base64.strict_encode64(@command.join(' '))
      end
    end
  end
end

require 'evostream/event/commands/create'
require 'evostream/event/commands/destroy'
require 'evostream/event/commands/get_stream_info'
require 'evostream/event/commands/list_config'
require 'evostream/event/commands/list_streams'
require 'evostream/event/commands/push_stream'
require 'evostream/event/commands/set_log_level'

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
evostream-event-1.0.0.pre.59 lib/evostream/event/commands.rb
evostream-event-1.0.0.pre.58 lib/evostream/event/commands.rb
evostream-event-0.3.2.pre.57 lib/evostream/event/commands.rb
evostream-event-0.3.2.pre.56 lib/evostream/event/commands.rb
evostream-event-0.3.2.pre.55 lib/evostream/event/commands.rb