Sha256: 5ee1f7935cfd7882b71eed2c40f3ff79d857dfd3c2eed8777c6e8aa867952914

Contents?: true

Size: 1.09 KB

Versions: 6

Compression:

Stored size: 1.09 KB

Contents

module RTurk

  class Qualifications

    # For more information about qualification requirements see:
    # http://docs.amazonwebservices.com/AWSMturkAPI/2008-08-02/index.html?ApiReference_QualificationRequirementDataStructureArticle.html
    #

    def to_params
      params = {}
      qualifications.each_with_index do |qualification, i|
        qualification.to_params.each_pair do |k,v|
          params["QualificationRequirement.#{i+1}.#{k}"] = v
        end
      end
      params
    end

    # Can use this to manually add custom requirement types
    # Needs a type name(you can reference this later)
    # and the operation as a hash: ':gt => 85'
    # Example
    # qualifications.add('EnglishSkillsRequirement', :gt => 66, :type_id => '1234567890123456789ABC')
    #
    def add(type, opts)
      qualifications << RTurk::Qualification.new(type, opts)
    end
    
    def qualifications
      @qualifications ||= []
    end


    def method_missing(method, *args)
      if RTurk::Qualification.types.include?(method)
        self.add(method, *args)
      else
        super
      end
    end

  end


end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
rturk-2.12.1 lib/rturk/builders/qualifications_builder.rb
rturk-2.12.0 lib/rturk/builders/qualifications_builder.rb
rturk-2.11.3 lib/rturk/builders/qualifications_builder.rb
rturk-2.11.2 lib/rturk/builders/qualifications_builder.rb
rturk-2.11.1 lib/rturk/builders/qualifications_builder.rb
rturk-2.11.0 lib/rturk/builders/qualifications_builder.rb