class Zenaton::Services::GraphQL::DispatchTaskMutation

Mutation parameters for executing a single task

Public Class Methods

new(task, app_env) click to toggle source
# File lib/zenaton/services/graph_ql/dispatch_task_mutation.rb, line 10
def initialize(task, app_env)
  super
  @task = task
  @app_env = app_env
end

Public Instance Methods

body() click to toggle source

The body of the GraphQL request

# File lib/zenaton/services/graph_ql/dispatch_task_mutation.rb, line 17
def body
  { 'query' => query, 'variables' => variables }
end
raw_query() click to toggle source

The query to be executed

# File lib/zenaton/services/graph_ql/dispatch_task_mutation.rb, line 22
        def raw_query
          <<~GQL
            mutation dispatchTask($input: DispatchTaskInput!) {
              dispatchTask(input: $input) {
                task {
                  intentId
                }
              }
            }
          GQL
        end
variables() click to toggle source

The variables used in the query

# File lib/zenaton/services/graph_ql/dispatch_task_mutation.rb, line 35
def variables
  {
    'input' => {
      'environmentName' => @app_env,
      'intentId' => intent_id,
      'name' => @task.class.name,
      'maxProcessingTime' => @task.try(:max_processing_time),
      'programmingLanguage' => 'RUBY',
      'data' => @serializer.encode(@properties.from(@task))
    }
  }
end