class Kempelen::API::Operations::CreateHit

Constants

AWS_OPERATION_NAME
AWS_RESPONSE_OBJECT

Attributes

assignment_duration[RW]
auto_approval_delay[RW]
currency_code[RW]
description[RW]
hit_type_id[RW]
keywords[RW]
layout_id[RW]
layout_parameters[RW]
lifetime_in_seconds[RW]
max_assignments[RW]
qualification_requirements[RW]
requester_annotation[RW]
reward_amount[RW]
title[RW]
unique_request_token[RW]

Public Class Methods

new(client, hit_type_id, lifetime_in_seconds) { |self| ... } click to toggle source
Calls superclass method Kempelen::API::Operations::Base::new
# File lib/kempelen/API/operations/create_hit.rb, line 26
def initialize(client, hit_type_id, lifetime_in_seconds, &block)
  super(client)

  @hit_type_id = hit_type_id
  @lifetime_in_seconds = lifetime_in_seconds.to_i
  @layout_id = nil
  @requester_annotation = nil
  @unique_request_token = nil
  @layout_parameters = []
  @max_assignments = 1
  @response_object = AWS_RESPONSE_OBJECT

  @auto_approval_delay = 2592000
  @reward_amount = 0.0
  @currency_code = "USD".freeze

  @qualification_requirements = []

  yield self unless block == nil
end

Public Instance Methods

add_layout_parameter(name, value) click to toggle source
# File lib/kempelen/API/operations/create_hit.rb, line 47
def add_layout_parameter(name, value)
  @layout_parameters << {Name: name, Value: value}
end
create_parameters() click to toggle source
# File lib/kempelen/API/operations/create_hit.rb, line 51
def create_parameters
  @parameters[:operation] = AWS_OPERATION_NAME

  if @hit_type_id.nil?
    @parameters[:assignment_duration] = @assignment_duration
    @parameters[:auto_approval_delay] = @auto_approval_delay
    @parameters[:title] = @title
    @parameters[:description] = @description
    @parameters[:keywords] = @keywords
    @parameters[:reward_amount] = [{Amount: @reward_amount, CurrencyCode: @currency_code}]
    @parameters[:qualification_requirements] = @qualification_requirements unless @qualification_requirements.empty?
  else
    @parameters[:hit_type_id] = @hit_type_id
  end
  @parameters[:lifetime_in_seconds] = @lifetime_in_seconds
  @parameters[:max_assignments] = @max_assignments
  @parameters[:layout_id] = @layout_id unless @layout_id.nil?
  @parameters[:layout_parameters] = @layout_parameters unless @layout_parameters.empty?
  @parameters[:requester_annotation] = @requester_annotation unless @requester_annotation.nil?
  @parameters[:unique_request_token] = @unique_request_token unless @unique_request_token.nil?

  super 
end
perform_operation() click to toggle source
# File lib/kempelen/API/operations/create_hit.rb, line 75
def perform_operation
  create_request_string

  super

  Kempelen::API::Responses::HitResponse.new(@raw_response)
end