class Legion::Transport::Messages::SubTask

Public Instance Methods

exchange() click to toggle source
# File lib/legion/transport/messages/subtask.rb, line 7
def exchange
  Legion::Transport::Exchanges::Task
end
message() click to toggle source
# File lib/legion/transport/messages/subtask.rb, line 11
def message
  {
    transformation: @options[:transformation] || '{}',
    conditions: @options[:conditions] || '{}',
    results: @options[:results] || '{}'
  }
end
routing_key() click to toggle source
# File lib/legion/transport/messages/subtask.rb, line 19
def routing_key # rubocop:disable Metrics/AbcSize
  if @options[:conditions].is_a?(String) && @options[:conditions].length > 2
    'task.subtask.conditioner'
  elsif @options[:transformation].is_a?(String) && @options[:transformation].length > 2
    'task.subtask.transform'
  elsif @options[:function_id].is_a? Integer
    function = Legion::Data::Model::Function[@options[:function_id]]
    "#{function.runner.extension.values[:exchange]}.#{function.runner.values[:queue]}.#{function.values[:name]}"
  end
end
validate() click to toggle source
# File lib/legion/transport/messages/subtask.rb, line 30
def validate
  raise TypeError unless @options[:function].is_a? String

  @valid = true
end