Sha256: 6beaabc8aaff02a8b2497a96456e8ec7c9dee95c97556571383d542f9cdd2840

Contents?: true

Size: 658 Bytes

Versions: 5

Compression:

Stored size: 658 Bytes

Contents

module Legion::Transport::Messages # rubocop:disable Style/ClassAndModuleChildren
  class Dynamic < Legion::Transport::Message
    attr_accessor :options

    def type
      'task'
    end

    def message
      { args: @options[:args] || @options,
        function: function.values[:name] }
    end

    def routing_key
      "#{function.runner.extension.values[:name]}.#{function.runner.values[:name]}.#{function.values[:name]}"
    end

    def exchange
      Legion::Transport::Exchange.new(function.runner.extension.values[:exchange])
    end

    def function
      @function ||= Legion::Data::Model::Function[@options[:function_id]]
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
legion-transport-1.2.0 lib/legion/transport/messages/dynamic.rb
legion-transport-1.1.9 lib/legion/transport/messages/dynamic.rb
legion-transport-1.1.8 lib/legion/transport/messages/dynamic.rb
legion-transport-1.1.6 lib/legion/transport/messages/dynamic.rb
legion-transport-1.1.5 lib/legion/transport/messages/dynamic.rb