Sha256: 164a0fa4dba1ec6e2378e5b28da8cd0361a7adf85d2c26cb8c5fb83b17f6ffa8

Contents?: true

Size: 616 Bytes

Versions: 7

Compression:

Stored size: 616 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 }
    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

7 entries across 7 versions & 2 rubygems

Version Path
legion-transport-java-1.1.4 lib/legion/transport/messages/dynamic.rb
legion-transport-1.1.4 lib/legion/transport/messages/dynamic.rb
legion-transport-java-1.1.3 lib/legion/transport/messages/dynamic.rb
legion-transport-1.1.3 lib/legion/transport/messages/dynamic.rb
legion-transport-1.1.2 lib/legion/transport/messages/dynamic.rb
legion-transport-1.1.1 lib/legion/transport/messages/dynamic.rb
legion-transport-1.1.0 lib/legion/transport/messages/dynamic.rb