rturk 1.0.5 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. data/.gitmodules +3 -0
  2. data/.yardoc +0 -0
  3. data/README.markdown +49 -29
  4. data/Rakefile +53 -0
  5. data/TODO.markdown +3 -0
  6. data/VERSION +1 -1
  7. data/examples/blank_slate.rb +21 -4
  8. data/examples/create_hit.rb +19 -0
  9. data/examples/newtweet.html +0 -1
  10. data/examples/review_answer.rb +18 -5
  11. data/lib/rturk.rb +33 -6
  12. data/lib/rturk/adapters/answers.rb +38 -0
  13. data/lib/rturk/adapters/assignment.rb +75 -0
  14. data/lib/rturk/adapters/hit.rb +97 -0
  15. data/lib/rturk/builders/qualification_builder.rb +68 -0
  16. data/lib/rturk/builders/qualifications_builder.rb +43 -0
  17. data/lib/rturk/builders/question_builder.rb +51 -0
  18. data/lib/rturk/errors.rb +5 -0
  19. data/lib/rturk/logger.rb +20 -0
  20. data/lib/rturk/macros.rb +35 -0
  21. data/lib/rturk/operation.rb +86 -0
  22. data/lib/rturk/operations/approve_assignment.rb +28 -0
  23. data/lib/rturk/operations/create_hit.rb +77 -0
  24. data/lib/rturk/operations/disable_hit.rb +19 -0
  25. data/lib/rturk/operations/dispose_hit.rb +19 -0
  26. data/lib/rturk/operations/force_expire_hit.rb +18 -0
  27. data/lib/rturk/operations/get_account_balance.rb +15 -0
  28. data/lib/rturk/operations/get_assignments_for_hit.rb +24 -0
  29. data/lib/rturk/operations/get_hit.rb +21 -0
  30. data/lib/rturk/operations/get_reviewable_hits.rb +23 -0
  31. data/lib/rturk/operations/grant_bonus.rb +26 -0
  32. data/lib/rturk/operations/reject_assignment.rb +23 -0
  33. data/lib/rturk/requester.rb +58 -76
  34. data/lib/rturk/response.rb +58 -0
  35. data/lib/rturk/responses/create_hit_response.rb +33 -0
  36. data/lib/rturk/responses/get_account_balance_response.rb +11 -0
  37. data/lib/rturk/responses/get_assignments_for_hit_response.rb +43 -0
  38. data/lib/rturk/responses/get_hit_response.rb +80 -0
  39. data/lib/rturk/responses/get_reviewable_hits_response.rb +33 -0
  40. data/lib/rturk/utilities.rb +19 -1
  41. data/lib/rturk/xml_utilities.rb +23 -0
  42. data/rturk.gemspec +143 -0
  43. data/spec/adapters/answers_spec.rb +27 -0
  44. data/spec/adapters/assignment_spec.rb +0 -0
  45. data/spec/adapters/hit_spec.rb +46 -0
  46. data/spec/builders/qualification_spec.rb +53 -0
  47. data/spec/builders/qualifications_spec.rb +30 -0
  48. data/spec/builders/question_spec.rb +46 -0
  49. data/spec/fake_responses/approve_assignment.xml +5 -0
  50. data/spec/fake_responses/create_hit.xml +12 -0
  51. data/spec/fake_responses/disable_hit.xml +5 -0
  52. data/spec/fake_responses/dispose_hit.xml +5 -0
  53. data/spec/fake_responses/force_expire_hit.xml +5 -0
  54. data/spec/fake_responses/get_account_balance.xml +10 -0
  55. data/spec/fake_responses/get_assignments.xml +35 -0
  56. data/spec/fake_responses/get_hit.xml +41 -0
  57. data/spec/fake_responses/get_reviewable_hits.xml +17 -0
  58. data/spec/fake_responses/grant_bonus.xml +5 -0
  59. data/spec/fake_responses/invalid_credentials.xml +12 -0
  60. data/spec/fake_responses/reject_assignment.xml +5 -0
  61. data/spec/operations/approve_assignment_spec.rb +27 -0
  62. data/spec/operations/create_hit_spec.rb +66 -0
  63. data/spec/operations/disable_hit_spec.rb +26 -0
  64. data/spec/operations/dispose_hit_spec.rb +26 -0
  65. data/spec/operations/force_expire_hit_spec.rb +26 -0
  66. data/spec/operations/get_account_balance_spec.rb +15 -0
  67. data/spec/operations/get_assignments_spec.rb +26 -0
  68. data/spec/operations/get_hit_spec.rb +18 -0
  69. data/spec/operations/get_reviewable_hits_spec.rb +0 -0
  70. data/spec/operations/grant_bonus_spec.rb +32 -0
  71. data/spec/operations/reject_assignment_spec.rb +26 -0
  72. data/spec/requester_spec.rb +7 -18
  73. data/spec/response_spec.rb +48 -0
  74. data/spec/rturk_spec.rb +27 -0
  75. data/spec/spec_helper.rb +28 -3
  76. data/spec/tmp +2 -0
  77. data/spec/xml_parse_spec.rb +32 -0
  78. metadata +94 -34
  79. data/examples/external_page.rb +0 -33
  80. data/lib/rturk/answer.rb +0 -20
  81. data/lib/rturk/custom_operations.rb +0 -80
  82. data/lib/rturk/external_question_builder.rb +0 -22
  83. data/spec/answer_spec.rb +0 -24
  84. data/spec/external_question_spec.rb +0 -27
@@ -0,0 +1,26 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
2
+
3
+ describe "getting assignments" do
4
+
5
+ before(:all) do
6
+ aws = YAML.load(File.open(File.join(SPEC_ROOT, 'mturk.yml')))
7
+ RTurk.setup(aws['AWSAccessKeyId'], aws['AWSAccessKey'], :sandbox => true)
8
+ faker('get_assignments', :operation => 'GetAssignmentsForHIT')
9
+ end
10
+
11
+ it "should ensure required params" do
12
+ lambda{RTurk::GetAssignmentsForHIT(:page_number => 5)}.should raise_error RTurk::MissingParameters
13
+ end
14
+
15
+ it "should successfully request an assignment" do
16
+ RTurk::Requester.should_receive(:request).once.with(
17
+ hash_including('Operation' => 'GetAssignmentsForHIT'))
18
+ RTurk::GetAssignmentsForHIT(:hit_id => "abcd") rescue RTurk::InvalidRequest
19
+ end
20
+
21
+ it "should parse and return and answer" do
22
+ assignments = RTurk::GetAssignmentsForHIT(:hit_id => "abcd").assignments
23
+ assignments.first.answers['tweet'].should eql("This is my tweet!")
24
+ end
25
+
26
+ end
@@ -0,0 +1,18 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
2
+
3
+
4
+ describe RTurk::GetHIT do
5
+
6
+ before(:all) do
7
+ faker('get_hit', :operation => 'GetHIT')
8
+ end
9
+
10
+ it "should fetch the details of a HIT" do
11
+ response = RTurk.GetHIT(:hit_id => '1234abcd')
12
+ response.type_id.should eql('YGKZ2W5X6YFZ08ZRXXZZ')
13
+ response.auto_approval.should eql(3600)
14
+ response.status.should eql('Reviewable')
15
+ end
16
+
17
+
18
+ end
File without changes
@@ -0,0 +1,32 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
2
+
3
+ describe RTurk::GrantBonus do
4
+
5
+ before(:all) do
6
+ aws = YAML.load(File.open(File.join(SPEC_ROOT, 'mturk.yml')))
7
+ RTurk.setup(aws['AWSAccessKeyId'], aws['AWSAccessKey'], :sandbox => true)
8
+ faker('grant_bonus', :operation => 'GrantBonus')
9
+ end
10
+
11
+ it "should ensure required params" do
12
+ lambda{RTurk::GrantBonus(:assignment_id => "123456789")}.should raise_error RTurk::MissingParameters
13
+ end
14
+
15
+ it "should successfully request the operation" do
16
+ RTurk::Requester.should_receive(:request).once.with(
17
+ hash_including('Operation' => 'GrantBonus'))
18
+ RTurk::GrantBonus(:assignment_id => "123456789",
19
+ :feedback => "Here's a quarter",
20
+ :worker_id => 'jerry',
21
+ :amount => 0.25) rescue RTurk::InvalidRequest
22
+ end
23
+
24
+ it "should parse and return the result" do
25
+ RTurk::GrantBonus(:assignment_id => "123456789",
26
+ :feedback => "Here's a quarter",
27
+ :worker_id => 'jerry',
28
+ :amount => 0.25).should
29
+ be_a_kind_of RTurk::Response
30
+ end
31
+
32
+ end
@@ -0,0 +1,26 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
2
+
3
+ describe RTurk::RejectAssignment do
4
+
5
+ before(:all) do
6
+ aws = YAML.load(File.open(File.join(SPEC_ROOT, 'mturk.yml')))
7
+ RTurk.setup(aws['AWSAccessKeyId'], aws['AWSAccessKey'], :sandbox => true)
8
+ faker('reject_assignment', :operation => 'RejectAssignment')
9
+ end
10
+
11
+ it "should ensure required params" do
12
+ lambda{RTurk::RejectAssignment(:assignment_id => "123456789")}.should raise_error RTurk::MissingParameters
13
+ end
14
+
15
+ it "should successfully request the operation" do
16
+ RTurk::Requester.should_receive(:request).once.with(
17
+ hash_including('Operation' => 'RejectAssignment'))
18
+ RTurk::RejectAssignment(:assignment_id => "123456789", :feedback => "This work of your, it is terrible!") rescue RTurk::InvalidRequest
19
+ end
20
+
21
+ it "should parse and return the result" do
22
+ RTurk::RejectAssignment(:assignment_id => "123456789", :feedback => "This work of your, it is terrible!").should
23
+ be_a_kind_of RTurk::Response
24
+ end
25
+
26
+ end
@@ -3,27 +3,16 @@ require File.dirname(__FILE__) + '/spec_helper'
3
3
  describe RTurk::Requester do
4
4
 
5
5
  before(:all) do
6
+ FakeWeb.clean_registry
6
7
  aws = YAML.load(File.open(File.join(SPEC_ROOT, 'mturk.yml')))
7
- @turk = RTurk::Requester.new(aws['AWSAccessKeyId'], aws['AWSAccessKey'], :sandbox => true)
8
+ RTurk.setup(aws['AWSAccessKeyId'], aws['AWSAccessKey'], :sandbox => true)
8
9
  end
9
10
 
10
- it "should perform raw operations" do
11
- response = @turk.request(:Operation => 'GetHIT', 'HITId' => 'test')
12
- response['HIT']['Request'].include?('Errors').should be_true
13
- end
14
-
15
- it "should also interpret methods as operations" do
16
- @turk.getHIT(:HITId => 'test')
17
- end
18
-
19
- it "should return its environment" do
20
- @turk.environment.should == 'sandbox'
21
- end
22
-
23
- it "should return its environment as production, the default" do
24
- aws = YAML.load(File.open(File.join(SPEC_ROOT, 'mturk.yml')))
25
- @turk = RTurk::Requester.new(aws['AWSAccessKeyId'], aws['AWSAccessKey'])
26
- @turk.environment.should == 'production'
11
+ it "should send the request to Amazon" do
12
+ RestClient.should_receive(:get).with(/amazonaws.*Operation=GetHIT.*$/)
13
+ RTurk::Requester.request(:Operation => 'GetHIT', 'HITId' => 'test')
27
14
  end
15
+
16
+
28
17
 
29
18
  end
@@ -0,0 +1,48 @@
1
+ require File.dirname(__FILE__) + '/spec_helper'
2
+
3
+
4
+ describe RTurk::Response do
5
+
6
+ context "given an invalid response" do
7
+
8
+ before(:all) do
9
+ @invalid_credentials_xml = File.read(File.join(SPEC_ROOT,'fake_responses','invalid_credentials.xml'))
10
+
11
+ end
12
+
13
+ it "should know it failed" do
14
+ lambda{RTurk::Response.new(@invalid_credentials_xml)}.should raise_error RTurk::InvalidRequest
15
+ end
16
+
17
+ it "should know why" do
18
+ begin
19
+ RTurk::Response.new(@invalid_credentials_xml)
20
+ rescue RTurk::InvalidRequest => e
21
+ e.message.should eql("AWS.NotAuthorized: The identity contained in the request is not authorized to use this AWSAccessKeyId")
22
+ end
23
+
24
+ end
25
+
26
+ end
27
+
28
+ context "given a valid response" do
29
+
30
+ before(:all) do
31
+ @response = RTurk::Response.new(File.read(File.join(SPEC_ROOT,'fake_responses','create_hit.xml')))
32
+ end
33
+
34
+ it "should know it succeded" do
35
+ @response.success?.should be_true
36
+ end
37
+
38
+ it "should not have errors attached" do
39
+ @response.errors.should be_empty
40
+ end
41
+
42
+ it "should give back the xml as a hash" do
43
+ @response.elements['CreateHITResponse']['HIT']['HITId'].should == 'GBHZVQX3EHXZ2AYDY2T0'
44
+ end
45
+
46
+ end
47
+
48
+ end
@@ -0,0 +1,27 @@
1
+ require File.dirname(__FILE__) + '/spec_helper'
2
+
3
+ describe RTurk do
4
+
5
+ before(:all) do
6
+ @aws = YAML.load(File.open(File.join(SPEC_ROOT, 'mturk.yml')))
7
+ end
8
+
9
+ it 'should allow me to set it up with credentials' do
10
+ RTurk.setup(@aws['AWSAccessKeyId'], @aws['AWSAccessKey'], :sandbox => true)
11
+ RTurk.secret_key.should eql @aws['AWSAccessKey']
12
+ end
13
+
14
+
15
+ it "should be able to tell when it's in sandbox" do
16
+ RTurk.setup(@aws['AWSAccessKeyId'], @aws['AWSAccessKey'], :sandbox => true)
17
+ RTurk.secret_key.should eql @aws['AWSAccessKey']
18
+ RTurk.sandbox?
19
+ end
20
+
21
+ it "should return its environment as production, the default" do
22
+ aws = YAML.load(File.open(File.join(SPEC_ROOT, 'mturk.yml')))
23
+ RTurk.setup(aws['AWSAccessKeyId'], aws['AWSAccessKey'])
24
+ RTurk.sandbox?.should be_false
25
+ end
26
+
27
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,9 +1,34 @@
1
+ SPEC_ROOT = File.expand_path(File.dirname(__FILE__)) unless defined? SPEC_ROOT
2
+ $: << SPEC_ROOT
3
+ $: << File.join(File.dirname(__FILE__), '..', 'lib')
4
+ require 'rubygems'
1
5
  require 'spec'
6
+ require 'fakeweb'
7
+ module FakeWeb
8
+ class Registry
9
+ # Comment out this override if you're using a quantum computer
10
+ def variations_of_uri_as_strings(uri)
11
+ [uri.to_s]
12
+ end
13
+
14
+ end
15
+ end
2
16
 
3
- SPEC_ROOT = File.expand_path(File.dirname(__FILE__))
4
- $LOAD_PATH.unshift(SPEC_ROOT)
5
- $LOAD_PATH.unshift(File.join(File.expand_path(File.dirname(__FILE__)), '..', 'lib'))
6
17
  require 'rturk'
18
+ # RTurk.log.level = Logger::DEBUG
19
+
20
+ @aws = YAML.load(File.open(File.join(SPEC_ROOT, 'mturk.yml')))
21
+ RTurk.setup(@aws['AWSAccessKeyId'], @aws['AWSAccessKey'], :sandbox => true)
22
+
23
+ def faker(response_name, opts = {})
24
+ if opts[:operation]
25
+ match = %r[amazonaws\.com\/?\?.*Operation=#{opts[:operation]}.*$]
26
+ else
27
+ match = %r[amazonaws\.com]
28
+ end
29
+ response = File.read(File.join(SPEC_ROOT, 'fake_responses', "#{response_name.to_s}.xml"))
30
+ FakeWeb.register_uri(:get, match, :body => response)
31
+ end
7
32
 
8
33
  Spec::Runner.configure do |config|
9
34
 
data/spec/tmp ADDED
@@ -0,0 +1,2 @@
1
+ RestClient.get "http://mechanicalturk.sandbox.amazonaws.com/?Keywords=&Signature=Gin96lmyTW%2FSJsO67GUtxjfpNRY%3D&Version=2008-08-02&RequesterAnnotation=&AWSAccessKeyId=0W304Z7TWY999N8ZXCG2&AssignmentDurationInSeconds=3600&Reward.Amount=&QualificationRequirement.1.RequiredToPreview=true&Timestamp=2009-10-06T23%3A28%3A51-04%3A00&MaxAssignments=5&Title=Look+at+some+dirty+pictures+from+4Chan&QualificationRequirement.2.RequiredToPreview=true&QualificationRequirement.1.QualificationTypeId=00000000000000000071&QualificationRequirement.2.Comparator=EqualTo&QualificationRequirement.1.Comparator=NotEqualTo&Reward.CurrencyCode=USD&QualificationRequirement.2.QualificationTypeId=00000000000000000060&Description=&AutoApprovalDelayInSeconds=3600&QualificationRequirement.2.IntegerValue=1&Service=AWSMechanicalTurkRequester&LifetimeInSeconds=&QualificationRequirement.1.LocaleValue.Country=PH"
2
+ # => 200 OK | text/xml 316 bytes
@@ -0,0 +1,32 @@
1
+ require File.dirname(__FILE__) + '/spec_helper'
2
+
3
+
4
+ describe RTurk::XmlUtilities do
5
+
6
+ before(:all) do
7
+ class XMLTest
8
+ include RTurk::XmlUtilities
9
+ def xml
10
+ <<-XML
11
+ <foo>
12
+ <bar>
13
+ <baz>
14
+ <fuck>content!!!</fuck>
15
+ </baz>
16
+ </bar>
17
+ </foo>
18
+ XML
19
+ end
20
+ def parse
21
+ xml_to_hash(Nokogiri::XML(xml))
22
+ end
23
+ end
24
+ end
25
+
26
+ it "should parse a answer" do
27
+
28
+ XMLTest.new.parse.should eql({'foo' => { 'bar' => {'baz' => {'fuck' => 'content!!!'}}}})
29
+ end
30
+
31
+
32
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rturk
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Percival
@@ -9,29 +9,10 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-07-09 00:00:00 -04:00
12
+ date: 2009-10-26 00:00:00 -04:00
13
13
  default_executable:
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: rest-client
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
23
- version: "0.9"
24
- version:
25
- - !ruby/object:Gem::Dependency
26
- name: xml-simple
27
- type: :runtime
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: 1.0.12
34
- version:
14
+ dependencies: []
15
+
35
16
  description:
36
17
  email: mark@mpercival.com
37
18
  executables: []
@@ -43,25 +24,86 @@ extra_rdoc_files:
43
24
  - README.markdown
44
25
  files:
45
26
  - .gitignore
27
+ - .gitmodules
28
+ - .yardoc
29
+ - LICENSE
46
30
  - README.markdown
31
+ - Rakefile
32
+ - TODO.markdown
47
33
  - VERSION
48
34
  - examples/blank_slate.rb
49
- - examples/external_page.rb
35
+ - examples/create_hit.rb
50
36
  - examples/mturk.sample.yml
51
37
  - examples/newtweet.html
52
38
  - examples/review_answer.rb
53
39
  - lib/rturk.rb
54
- - lib/rturk/answer.rb
55
- - lib/rturk/custom_operations.rb
56
- - lib/rturk/external_question_builder.rb
40
+ - lib/rturk/adapters/answers.rb
41
+ - lib/rturk/adapters/assignment.rb
42
+ - lib/rturk/adapters/hit.rb
43
+ - lib/rturk/builders/qualification_builder.rb
44
+ - lib/rturk/builders/qualifications_builder.rb
45
+ - lib/rturk/builders/question_builder.rb
46
+ - lib/rturk/errors.rb
47
+ - lib/rturk/logger.rb
48
+ - lib/rturk/macros.rb
49
+ - lib/rturk/operation.rb
50
+ - lib/rturk/operations/approve_assignment.rb
51
+ - lib/rturk/operations/create_hit.rb
52
+ - lib/rturk/operations/disable_hit.rb
53
+ - lib/rturk/operations/dispose_hit.rb
54
+ - lib/rturk/operations/force_expire_hit.rb
55
+ - lib/rturk/operations/get_account_balance.rb
56
+ - lib/rturk/operations/get_assignments_for_hit.rb
57
+ - lib/rturk/operations/get_hit.rb
58
+ - lib/rturk/operations/get_reviewable_hits.rb
59
+ - lib/rturk/operations/grant_bonus.rb
60
+ - lib/rturk/operations/reject_assignment.rb
57
61
  - lib/rturk/requester.rb
62
+ - lib/rturk/response.rb
63
+ - lib/rturk/responses/create_hit_response.rb
64
+ - lib/rturk/responses/get_account_balance_response.rb
65
+ - lib/rturk/responses/get_assignments_for_hit_response.rb
66
+ - lib/rturk/responses/get_hit_response.rb
67
+ - lib/rturk/responses/get_reviewable_hits_response.rb
58
68
  - lib/rturk/utilities.rb
59
- - spec/answer_spec.rb
60
- - spec/external_question_spec.rb
69
+ - lib/rturk/xml_utilities.rb
70
+ - rturk.gemspec
71
+ - spec/adapters/answers_spec.rb
72
+ - spec/adapters/assignment_spec.rb
73
+ - spec/adapters/hit_spec.rb
74
+ - spec/builders/qualification_spec.rb
75
+ - spec/builders/qualifications_spec.rb
76
+ - spec/builders/question_spec.rb
77
+ - spec/fake_responses/approve_assignment.xml
78
+ - spec/fake_responses/create_hit.xml
79
+ - spec/fake_responses/disable_hit.xml
80
+ - spec/fake_responses/dispose_hit.xml
81
+ - spec/fake_responses/force_expire_hit.xml
82
+ - spec/fake_responses/get_account_balance.xml
83
+ - spec/fake_responses/get_assignments.xml
84
+ - spec/fake_responses/get_hit.xml
85
+ - spec/fake_responses/get_reviewable_hits.xml
86
+ - spec/fake_responses/grant_bonus.xml
87
+ - spec/fake_responses/invalid_credentials.xml
88
+ - spec/fake_responses/reject_assignment.xml
61
89
  - spec/mturk.sample.yml
90
+ - spec/operations/approve_assignment_spec.rb
91
+ - spec/operations/create_hit_spec.rb
92
+ - spec/operations/disable_hit_spec.rb
93
+ - spec/operations/dispose_hit_spec.rb
94
+ - spec/operations/force_expire_hit_spec.rb
95
+ - spec/operations/get_account_balance_spec.rb
96
+ - spec/operations/get_assignments_spec.rb
97
+ - spec/operations/get_hit_spec.rb
98
+ - spec/operations/get_reviewable_hits_spec.rb
99
+ - spec/operations/grant_bonus_spec.rb
100
+ - spec/operations/reject_assignment_spec.rb
62
101
  - spec/requester_spec.rb
102
+ - spec/response_spec.rb
103
+ - spec/rturk_spec.rb
63
104
  - spec/spec_helper.rb
64
- - LICENSE
105
+ - spec/tmp
106
+ - spec/xml_parse_spec.rb
65
107
  has_rdoc: true
66
108
  homepage: http://github.com/markpercival/rturk
67
109
  licenses: []
@@ -88,13 +130,31 @@ requirements: []
88
130
  rubyforge_project:
89
131
  rubygems_version: 1.3.5
90
132
  signing_key:
91
- specification_version: 2
133
+ specification_version: 3
92
134
  summary: Mechanical Turk API Wrapper
93
135
  test_files:
94
- - spec/answer_spec.rb
95
- - spec/external_question_spec.rb
136
+ - spec/adapters/answers_spec.rb
137
+ - spec/adapters/assignment_spec.rb
138
+ - spec/adapters/hit_spec.rb
139
+ - spec/builders/qualification_spec.rb
140
+ - spec/builders/qualifications_spec.rb
141
+ - spec/builders/question_spec.rb
142
+ - spec/operations/approve_assignment_spec.rb
143
+ - spec/operations/create_hit_spec.rb
144
+ - spec/operations/disable_hit_spec.rb
145
+ - spec/operations/dispose_hit_spec.rb
146
+ - spec/operations/force_expire_hit_spec.rb
147
+ - spec/operations/get_account_balance_spec.rb
148
+ - spec/operations/get_assignments_spec.rb
149
+ - spec/operations/get_hit_spec.rb
150
+ - spec/operations/get_reviewable_hits_spec.rb
151
+ - spec/operations/grant_bonus_spec.rb
152
+ - spec/operations/reject_assignment_spec.rb
96
153
  - spec/requester_spec.rb
154
+ - spec/response_spec.rb
155
+ - spec/rturk_spec.rb
97
156
  - spec/spec_helper.rb
157
+ - spec/xml_parse_spec.rb
98
158
  - examples/blank_slate.rb
99
- - examples/external_page.rb
159
+ - examples/create_hit.rb
100
160
  - examples/review_answer.rb