mturk 1.8.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. checksums.yaml +7 -0
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +2 -0
  4. data/.gemtest +0 -0
  5. data/History.md +105 -0
  6. data/LICENSE.txt +202 -0
  7. data/Manifest.txt +72 -0
  8. data/NOTICE.txt +4 -0
  9. data/README.md +100 -0
  10. data/Rakefile +33 -0
  11. data/bin/mturk +9 -0
  12. data/lib/amazon/util.rb +10 -0
  13. data/lib/amazon/util/binder.rb +48 -0
  14. data/lib/amazon/util/data_reader.rb +169 -0
  15. data/lib/amazon/util/filter_chain.rb +79 -0
  16. data/lib/amazon/util/hash_nesting.rb +93 -0
  17. data/lib/amazon/util/lazy_results.rb +59 -0
  18. data/lib/amazon/util/logging.rb +23 -0
  19. data/lib/amazon/util/paginated_iterator.rb +70 -0
  20. data/lib/amazon/util/proactive_results.rb +116 -0
  21. data/lib/amazon/util/threadpool.rb +129 -0
  22. data/lib/amazon/util/user_data_store.rb +100 -0
  23. data/lib/amazon/webservices/mechanical_turk.rb +123 -0
  24. data/lib/amazon/webservices/mechanical_turk_requester.rb +285 -0
  25. data/lib/amazon/webservices/mturk/mechanical_turk_error_handler.rb +153 -0
  26. data/lib/amazon/webservices/mturk/question_generator.rb +58 -0
  27. data/lib/amazon/webservices/util/amazon_authentication_relay.rb +72 -0
  28. data/lib/amazon/webservices/util/command_line.rb +155 -0
  29. data/lib/amazon/webservices/util/convenience_wrapper.rb +90 -0
  30. data/lib/amazon/webservices/util/filter_proxy.rb +45 -0
  31. data/lib/amazon/webservices/util/mock_transport.rb +70 -0
  32. data/lib/amazon/webservices/util/request_signer.rb +42 -0
  33. data/lib/amazon/webservices/util/rest_transport.rb +120 -0
  34. data/lib/amazon/webservices/util/soap_simplifier.rb +48 -0
  35. data/lib/amazon/webservices/util/soap_transport.rb +20 -0
  36. data/lib/amazon/webservices/util/soap_transport_header_handler.rb +27 -0
  37. data/lib/amazon/webservices/util/unknown_result_exception.rb +27 -0
  38. data/lib/amazon/webservices/util/validation_exception.rb +55 -0
  39. data/lib/amazon/webservices/util/xml_simplifier.rb +61 -0
  40. data/lib/mturk.rb +19 -0
  41. data/lib/mturk/version.rb +6 -0
  42. data/run_rcov.sh +1 -0
  43. data/samples/best_image/BestImage.rb +61 -0
  44. data/samples/best_image/best_image.properties +39 -0
  45. data/samples/best_image/best_image.question +82 -0
  46. data/samples/blank_slate/BlankSlate.rb +63 -0
  47. data/samples/blank_slate/BlankSlate_multithreaded.rb +67 -0
  48. data/samples/helloworld/MTurkHelloWorld.rb +56 -0
  49. data/samples/helloworld/mturk.yml +8 -0
  50. data/samples/review_policy/ReviewPolicy.rb +139 -0
  51. data/samples/review_policy/review_policy.question +30 -0
  52. data/samples/reviewer/Reviewer.rb +103 -0
  53. data/samples/reviewer/mturk.yml +8 -0
  54. data/samples/simple_survey/SimpleSurvey.rb +98 -0
  55. data/samples/simple_survey/simple_survey.question +30 -0
  56. data/samples/site_category/SiteCategory.rb +87 -0
  57. data/samples/site_category/externalpage.htm +71 -0
  58. data/samples/site_category/site_category.input +6 -0
  59. data/samples/site_category/site_category.properties +56 -0
  60. data/samples/site_category/site_category.question +9 -0
  61. data/test/mturk/test_changehittypeofhit.rb +130 -0
  62. data/test/mturk/test_error_handler.rb +403 -0
  63. data/test/mturk/test_mechanical_turk_requester.rb +178 -0
  64. data/test/mturk/test_mock_mechanical_turk_requester.rb +205 -0
  65. data/test/test_mturk.rb +21 -0
  66. data/test/unit/test_binder.rb +89 -0
  67. data/test/unit/test_data_reader.rb +135 -0
  68. data/test/unit/test_exceptions.rb +32 -0
  69. data/test/unit/test_hash_nesting.rb +99 -0
  70. data/test/unit/test_lazy_results.rb +89 -0
  71. data/test/unit/test_mock_transport.rb +132 -0
  72. data/test/unit/test_paginated_iterator.rb +58 -0
  73. data/test/unit/test_proactive_results.rb +108 -0
  74. data/test/unit/test_question_generator.rb +55 -0
  75. data/test/unit/test_threadpool.rb +50 -0
  76. data/test/unit/test_user_data_store.rb +80 -0
  77. metadata +225 -0
  78. metadata.gz.sig +0 -0
@@ -0,0 +1,58 @@
1
+ # Copyright:: Copyright (c) 2007 Amazon Technologies, Inc.
2
+ # License:: Apache License, Version 2.0
3
+
4
+ require 'test/unit/testcase'
5
+ require 'amazon/util/paginated_iterator'
6
+
7
+ class TestPaginatedIterator < Test::Unit::TestCase
8
+ include Amazon::Util
9
+
10
+ def setup
11
+ @call_count = 0
12
+ @simple_pagesize = 2
13
+ @simple_data_size = 6
14
+ @simple_data = [ [1,2],[3,4],[5,6] ]
15
+ @simple_iter = PaginatedIterator.new {|page| @call_count += 1 ; @simple_data[ page-1 ] }
16
+ end
17
+
18
+ def testNext
19
+ assert_equal 0, @call_count
20
+ @simple_data.flatten.each do |i|
21
+ assert_equal i, @simple_iter.next
22
+ end
23
+ assert_equal 3, @call_count
24
+ assert !@simple_iter.done
25
+ assert_nil @simple_iter.next
26
+ assert_equal 4, @call_count
27
+ assert @simple_iter.done
28
+ end
29
+
30
+ def testRestart
31
+ assert_equal 0, @call_count
32
+ @simple_iter.next until @simple_iter.done
33
+ assert_equal 4, @call_count
34
+ @simple_iter.restart
35
+ assert !@simple_iter.done
36
+ @simple_iter.next until @simple_iter.done
37
+ assert_equal 8, @call_count
38
+ end
39
+
40
+ def testEach
41
+ res = []
42
+ @simple_iter.each {|i| res << i }
43
+ assert_equal @simple_data.flatten, res
44
+ assert_equal 4, @call_count
45
+ assert @simple_iter.done
46
+ @simple_iter.each {|i| fail }
47
+ end
48
+
49
+ def testError
50
+ @picky_message = "picky picky picky"
51
+ @picky_iter = PaginatedIterator.new {|page| @call_count += 1 ; if page < 3 ; @simple_data[ page-1 ] ; else ; raise @picky_message ; end }
52
+ 3.times { @picky_iter.next }
53
+ assert_equal 4, @picky_iter.next
54
+ e = assert_raises( RuntimeError ) { @picky_iter.next }
55
+ assert_equal @picky_message, e.message
56
+ end
57
+
58
+ end
@@ -0,0 +1,108 @@
1
+ # Copyright:: Copyright (c) 2007 Amazon Technologies, Inc.
2
+ # License:: Apache License, Version 2.0
3
+
4
+ require 'test/unit/testcase'
5
+ require 'amazon/util/proactive_results'
6
+
7
+ class TestProactiveResults < Test::Unit::TestCase
8
+ include Amazon::Util
9
+
10
+ def setup
11
+ @call_count = 0
12
+ @exception_count = 0
13
+ @simple_pagesize = 2
14
+ @simple_data_size = 6
15
+ @simple_data = [ [1,2],[3,4],[5,6] ]
16
+ @simple_proactive = ProactiveResults.new {|page| @call_count += 1 ; @simple_data[ page-1 ] }
17
+ end
18
+
19
+ def testBasic
20
+ assert @call_count >= 0
21
+ assert_equal @simple_data.flatten, @simple_proactive.to_a
22
+ assert_equal 6, @call_count
23
+ assert_equal @simple_data.flatten, @simple_proactive.to_a
24
+ assert_equal 6, @call_count
25
+ assert_equal Array, @simple_proactive.to_a.class
26
+ end
27
+
28
+ def testEnumerable
29
+ result = @simple_proactive.collect
30
+ assert_equal @simple_data.flatten, result.to_a
31
+ assert_equal 6, @call_count
32
+ result = @simple_proactive.collect
33
+ assert_equal @simple_data.flatten, result.to_a
34
+ assert_equal 6, @call_count
35
+ minus1 = @simple_proactive.collect {|i| i-1}
36
+ minus1.each_with_index {|i,n| assert_equal i, n }
37
+ evenodd = @simple_proactive.inject({:even => [],:odd => []}) {|a,num| a[ num % 2 == 0 ? :even : :odd ] << num ; a }
38
+ expected = {:even => [2,4,6], :odd => [1,3,5] }
39
+ assert_equal expected, evenodd
40
+ end
41
+
42
+ def testIncremental
43
+ count = 0
44
+ remaining = @simple_data.flatten
45
+ @simple_proactive.each { |value|
46
+ assert_not_nil value
47
+ assert_not_nil remaining.delete( value )
48
+ assert @call_count >= (count / @simple_pagesize)+1
49
+ count += 1
50
+ }
51
+ assert_equal 6, count
52
+ assert_equal 6, @call_count
53
+ end
54
+
55
+ def testRandomAccess
56
+ assert [2,4,6].member?( @simple_proactive[3] )
57
+ assert @call_count >= 2
58
+ assert_nil @simple_proactive[@simple_data_size]
59
+ assert_equal 6, @call_count
60
+ 10.times do
61
+ index = rand(@simple_data_size+@simple_pagesize)
62
+ if index >= @simple_data_size
63
+ assert_nil @simple_proactive[index]
64
+ else
65
+ if index % 2 == 0
66
+ assert [1,3,5].member?( @simple_proactive[index] )
67
+ else
68
+ assert [2,4,6].member?( @simple_proactive[index] )
69
+ end
70
+ end
71
+ end
72
+ assert_equal 6, @call_count
73
+ assert_equal @simple_data.flatten, @simple_proactive.to_a.sort
74
+ end
75
+
76
+ def testFlush
77
+ @simple_proactive.to_a
78
+ @simple_proactive.to_a
79
+ assert_equal 6, @call_count
80
+ @simple_proactive.flush
81
+ @simple_proactive.to_a
82
+ assert_equal 12, @call_count
83
+ end
84
+
85
+ def testError
86
+ @picky_message = "picky picky picky"
87
+ exception_count = 0
88
+ @picky_proactive = ProactiveResults.new(Proc.new {|i| exception_count += 1 }) do |page|
89
+ @call_count += 1
90
+ if page < 3
91
+ @simple_data[ page-1 ]
92
+ else
93
+ raise @picky_message
94
+ end
95
+ end
96
+ assert_equal @simple_data.flatten[0..3], @picky_proactive.to_a
97
+ assert_equal 3, exception_count
98
+ end
99
+
100
+ def testImmutability
101
+ assert_equal 3, @simple_proactive[2]
102
+ a = @simple_proactive.to_a
103
+ assert_equal 3, a[2]
104
+ a[2] = 7
105
+ assert_equal 3, @simple_proactive[2]
106
+ end
107
+
108
+ end
@@ -0,0 +1,55 @@
1
+ # Copyright:: Copyright (c) 2007 Amazon Technologies, Inc.
2
+ # License:: Apache License, Version 2.0
3
+
4
+ require 'test/unit/testcase'
5
+ require 'amazon/webservices/mturk/question_generator'
6
+
7
+ class TestQuestionGenerator < Test::Unit::TestCase
8
+ include Amazon::WebServices::MTurk
9
+
10
+ def testBuilder
11
+ xml = QuestionGenerator.build { |gen| gen.ask "What color is the sky?" }
12
+ assert_equal String, xml.class
13
+ assert !xml.empty?
14
+ assert xml =~ /What color is the sky/
15
+ end
16
+
17
+ def testXmlEscaping
18
+ xml = QuestionGenerator.build{ |gen| gen.ask "Is 1 > 2 & < 7 ?" }
19
+ assert xml =~ /<Text>(.*)<\/Text>/
20
+ escaped_text = $1
21
+ assert_equal "Is 1 &gt; 2 &amp; &lt; 7 ?", escaped_text
22
+ end
23
+
24
+ def testValidXML
25
+ xml = QuestionGenerator.build{ |gen| gen.ask "who loves chocolate most?" }
26
+ require 'rexml/document'
27
+ # REXML will throw an exception if the xml is invalid / malformatted
28
+ valid = REXML::Document.new(xml)
29
+ assert_not_nil valid
30
+ end
31
+
32
+ def testAlternateInvocations
33
+ myQuestion = "how many tuna fit in a can?"
34
+
35
+ built = QuestionGenerator.build { |gen| gen.ask myQuestion }
36
+ built_basic = QuestionGenerator.build( :Basic ) { |gen| gen.ask myQuestion }
37
+ built_askbasic = QuestionGenerator.build { |gen| gen.askBasic myQuestion }
38
+
39
+ defaultgen = QuestionGenerator.new
40
+ defaultgen.ask myQuestion
41
+ obj = defaultgen.to_xml
42
+
43
+ defaultgen = QuestionGenerator.new
44
+ defaultgen.askBasic myQuestion
45
+ obj_askbasic = defaultgen.to_xml
46
+
47
+ basicgen = QuestionGenerator.new( :Basic )
48
+ basicgen.ask myQuestion
49
+ obj_basic = basicgen.to_xml
50
+
51
+ # all methods should generate the exact same string
52
+ [built_basic,built_askbasic,obj,obj_askbasic,obj_basic].each { |comp| assert_equal built, comp }
53
+ end
54
+
55
+ end
@@ -0,0 +1,50 @@
1
+ # Copyright:: Copyright (c) 2007 Amazon Technologies, Inc.
2
+ # License:: Apache License, Version 2.0
3
+
4
+ require 'amazon/util/threadpool'
5
+
6
+ class TestThreadpool < Test::Unit::TestCase
7
+ include Amazon::Util
8
+
9
+ def setup
10
+ @tp = ThreadPool.new 5
11
+ end
12
+
13
+ def teardown
14
+ @tp.finish
15
+ end
16
+
17
+ def testNothing
18
+ assert true
19
+ end
20
+
21
+ def testDoSomething
22
+ @tp.addWork { sleep(0.1) }
23
+ assert true
24
+ end
25
+
26
+ def testSimple
27
+ q = Queue.new
28
+
29
+ 5.times {|t| @tp.addWork(t) {|i| sleep(rand(4)*0.1) ; q << i } }
30
+ @tp.finish
31
+
32
+ s = []
33
+ 5.times { s << q.pop }
34
+ assert_equal [0,1,2,3,4], s.sort
35
+ end
36
+
37
+ def testSync
38
+ s = []
39
+
40
+ 5.times { |t| @tp.addWork(t) {|i| s << i } }
41
+ @tp.sync
42
+ assert_equal [0,1,2,3,4], s.sort
43
+ 5.times { |t| @tp.addWork(t) {|i| s << i+5 } }
44
+ @tp.sync
45
+
46
+ assert_equal [0,1,2,3,4], s[0,5].sort
47
+ assert_equal [5,6,7,8,9], s[5,5].sort
48
+ end
49
+
50
+ end
@@ -0,0 +1,80 @@
1
+ # Copyright:: Copyright (c) 2007 Amazon Technologies, Inc.
2
+ # License:: Apache License, Version 2.0
3
+
4
+ require 'test/unit/testcase'
5
+ require 'amazon/util/binder'
6
+ require 'tempfile'
7
+ require 'fileutils'
8
+
9
+ class TestUserDataStore < Test::Unit::TestCase
10
+ include Amazon::Util
11
+
12
+ def setup
13
+ @tmpfile = Tempfile.new('MTurkTesting')
14
+ @fakehome = @tmpfile.path + 'homedir'
15
+ FileUtils.mkdir( @fakehome )
16
+ ENV['TEST_HOME_OVERRIDE'] = @fakehome
17
+ end
18
+
19
+ def teardown
20
+ ENV.delete 'TEST_HOME_OVERRIDE'
21
+ FileUtils.remove_dir( @fakehome )
22
+ @tmpfile = nil
23
+ end
24
+
25
+ def testSimpleValue
26
+ store = UserDataStore.new('TEST_MTURK')
27
+ store.set( :pudding, :color, 'yellow' )
28
+ store.save
29
+
30
+ store2 = UserDataStore.new('TEST_MTURK')
31
+ color = store2.get :pudding, :color
32
+
33
+ assert_equal 'yellow', color, 'pudding was the wrong color'
34
+ end
35
+
36
+ def testEmpty
37
+ store = UserDataStore.new('TEST_MTURK')
38
+ color = store.get :pudding, :color
39
+ assert_nil color
40
+ end
41
+
42
+ def testClear
43
+ store = UserDataStore.new('TEST_MTURK')
44
+ store.set( :pudding, :color, 'green' )
45
+ store.set( :pudding, :smell, 'sweet' )
46
+ store.save
47
+
48
+ store.clear(:pudding)
49
+ store.save
50
+
51
+ store2 = UserDataStore.new('TEST_MTURK')
52
+ assert_nil store2.get(:pudding,:color)
53
+ assert_nil store2.get(:pudding,:smell)
54
+ end
55
+
56
+ def testClearPartial
57
+ store = UserDataStore.new('TEST_MTURK')
58
+ store.set( :pudding, :color, 'pink' )
59
+ store.set( :pudding, :smell, 'sour' )
60
+ store.save
61
+
62
+ store.clear(:pudding,:smell)
63
+ store.save
64
+
65
+ store2 = UserDataStore.new('TEST_MTURK')
66
+ assert_equal 'pink', store2.get(:pudding,:color)
67
+ assert_nil store.get(:pudding,:smell)
68
+ end
69
+
70
+ def testNamespaces
71
+ store = UserDataStore.new('TEST_MTURK')
72
+ store.set( :pudding, :color, 'purple' )
73
+
74
+ same_namespaces = [ :Pudding, :PUDDING, :pUDDING, 'pudding', 'PUDDING', 'PuDDinG' ]
75
+ same_namespaces.each do |ns|
76
+ assert_equal 'purple', store.get(ns,:color)
77
+ end
78
+ end
79
+
80
+ end
metadata ADDED
@@ -0,0 +1,225 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mturk
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.8.1
5
+ platform: ruby
6
+ authors:
7
+ - David J Parrott
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIDSjCCAjKgAwIBAgIBAjANBgkqhkiG9w0BAQUFADBLMRkwFwYDVQQDDBBydWJ5
14
+ LWF3cy1kZXZlbG9wMRkwFwYKCZImiZPyLGQBGRYJcnVieWZvcmdlMRMwEQYKCZIm
15
+ iZPyLGQBGRYDb3JnMB4XDTE0MTAxNzIyMzgyOVoXDTE1MTAxNzIyMzgyOVowSzEZ
16
+ MBcGA1UEAwwQcnVieS1hd3MtZGV2ZWxvcDEZMBcGCgmSJomT8ixkARkWCXJ1Ynlm
17
+ b3JnZTETMBEGCgmSJomT8ixkARkWA29yZzCCASIwDQYJKoZIhvcNAQEBBQADggEP
18
+ ADCCAQoCggEBAMJ6D+5H3x+H81ugh3PcQhgA+GkZBqBcebjwKTCUdUO6TOg6PHwP
19
+ NcJTuAO4gI47EHkkR47kDdyHzdJIs2lVWctgut5PAT/Q3PsyyUfg3vQL9jhf994G
20
+ kpNlawivDSo2xubzb1eBeVIF3dtMek4ttA7T1ickv/7oYQrhTpv3AgPoVVcxcva/
21
+ DPXXBgepcMhdj0h4a+5YAW2t1m4DLYhX2tbzL2sLBZm07awUrOiUkJ9FalN2nevq
22
+ sdI6KFVaPf94iRDq7OoMCEPS5JwGzDJ5otIt6twj2cKfqOiUJD2Fgb6Y4a80KSXF
23
+ 16kC+80frHhiIb+sGhANsgo8wB0L+BmMgyECAwEAAaM5MDcwCQYDVR0TBAIwADAL
24
+ BgNVHQ8EBAMCBLAwHQYDVR0OBBYEFN8sX6rx1b95BqTPZMSlDkGHUQByMA0GCSqG
25
+ SIb3DQEBBQUAA4IBAQBJZE0lH6ticfB+qRoa1dhQmC/iod6u3w0ZnDDkw+an0t/s
26
+ lUVQ3S8+8E1rs/VvPwuqI72/HF4PBYuvHMfZXiqsxNMQL2hrEDu6F7bx+K6+brpG
27
+ ERzK5uFNo2o6TFe2upe+IlA4MN8d/qyMSH5sQuikg79shg+kakVJJdqYVcIBDGah
28
+ RANSg7dXSpR0s1BQJ50qlye64u9JqiW25T4i3Uap/fD3wrlj0SlVwvasQ4qi3cgf
29
+ tlC13CXjOWGW+hn+n/swny4LFXOus/qZixxiMAePSmN3QUC+bl/GvdBqZz0uPmQc
30
+ QRVpdW2BFol3aw2mXmdYxaOwHvTxcB7DHmkfOf2h
31
+ -----END CERTIFICATE-----
32
+ date: 2015-02-17 00:00:00.000000000 Z
33
+ dependencies:
34
+ - !ruby/object:Gem::Dependency
35
+ name: highline
36
+ requirement: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 1.2.7
41
+ type: :runtime
42
+ prerelease: false
43
+ version_requirements: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 1.2.7
48
+ - !ruby/object:Gem::Dependency
49
+ name: nokogiri
50
+ requirement: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '1.4'
55
+ type: :runtime
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '1.4'
62
+ - !ruby/object:Gem::Dependency
63
+ name: rdoc
64
+ requirement: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '4.0'
69
+ type: :development
70
+ prerelease: false
71
+ version_requirements: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '4.0'
76
+ - !ruby/object:Gem::Dependency
77
+ name: hoe
78
+ requirement: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '3.13'
83
+ type: :development
84
+ prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '3.13'
90
+ description: |-
91
+ Mechanical Turk Ruby Libraries (mturk) is a set of libraries and tools
92
+ designed to make it easier for you to build solutions leveraging Amazon
93
+ Mechanical Turk. The goals of the libraries are:
94
+
95
+ * To abstract you from the "muck" of using web services
96
+ * To simplify using the Mechanical Turk APIs
97
+ * To allow you to focus more on solving the business problem
98
+ and less on managing technical details
99
+ email: requester@mturk.com
100
+ executables:
101
+ - mturk
102
+ extensions: []
103
+ extra_rdoc_files:
104
+ - History.md
105
+ - LICENSE.txt
106
+ - Manifest.txt
107
+ - NOTICE.txt
108
+ - README.md
109
+ files:
110
+ - ".gemtest"
111
+ - History.md
112
+ - LICENSE.txt
113
+ - Manifest.txt
114
+ - NOTICE.txt
115
+ - README.md
116
+ - Rakefile
117
+ - bin/mturk
118
+ - lib/amazon/util.rb
119
+ - lib/amazon/util/binder.rb
120
+ - lib/amazon/util/data_reader.rb
121
+ - lib/amazon/util/filter_chain.rb
122
+ - lib/amazon/util/hash_nesting.rb
123
+ - lib/amazon/util/lazy_results.rb
124
+ - lib/amazon/util/logging.rb
125
+ - lib/amazon/util/paginated_iterator.rb
126
+ - lib/amazon/util/proactive_results.rb
127
+ - lib/amazon/util/threadpool.rb
128
+ - lib/amazon/util/user_data_store.rb
129
+ - lib/amazon/webservices/mechanical_turk.rb
130
+ - lib/amazon/webservices/mechanical_turk_requester.rb
131
+ - lib/amazon/webservices/mturk/mechanical_turk_error_handler.rb
132
+ - lib/amazon/webservices/mturk/question_generator.rb
133
+ - lib/amazon/webservices/util/amazon_authentication_relay.rb
134
+ - lib/amazon/webservices/util/command_line.rb
135
+ - lib/amazon/webservices/util/convenience_wrapper.rb
136
+ - lib/amazon/webservices/util/filter_proxy.rb
137
+ - lib/amazon/webservices/util/mock_transport.rb
138
+ - lib/amazon/webservices/util/request_signer.rb
139
+ - lib/amazon/webservices/util/rest_transport.rb
140
+ - lib/amazon/webservices/util/soap_simplifier.rb
141
+ - lib/amazon/webservices/util/soap_transport.rb
142
+ - lib/amazon/webservices/util/soap_transport_header_handler.rb
143
+ - lib/amazon/webservices/util/unknown_result_exception.rb
144
+ - lib/amazon/webservices/util/validation_exception.rb
145
+ - lib/amazon/webservices/util/xml_simplifier.rb
146
+ - lib/mturk.rb
147
+ - lib/mturk/version.rb
148
+ - run_rcov.sh
149
+ - samples/best_image/BestImage.rb
150
+ - samples/best_image/best_image.properties
151
+ - samples/best_image/best_image.question
152
+ - samples/blank_slate/BlankSlate.rb
153
+ - samples/blank_slate/BlankSlate_multithreaded.rb
154
+ - samples/helloworld/MTurkHelloWorld.rb
155
+ - samples/helloworld/mturk.yml
156
+ - samples/review_policy/ReviewPolicy.rb
157
+ - samples/review_policy/review_policy.question
158
+ - samples/reviewer/Reviewer.rb
159
+ - samples/reviewer/mturk.yml
160
+ - samples/simple_survey/SimpleSurvey.rb
161
+ - samples/simple_survey/simple_survey.question
162
+ - samples/site_category/SiteCategory.rb
163
+ - samples/site_category/externalpage.htm
164
+ - samples/site_category/site_category.input
165
+ - samples/site_category/site_category.properties
166
+ - samples/site_category/site_category.question
167
+ - test/mturk/test_changehittypeofhit.rb
168
+ - test/mturk/test_error_handler.rb
169
+ - test/mturk/test_mechanical_turk_requester.rb
170
+ - test/mturk/test_mock_mechanical_turk_requester.rb
171
+ - test/test_mturk.rb
172
+ - test/unit/test_binder.rb
173
+ - test/unit/test_data_reader.rb
174
+ - test/unit/test_exceptions.rb
175
+ - test/unit/test_hash_nesting.rb
176
+ - test/unit/test_lazy_results.rb
177
+ - test/unit/test_mock_transport.rb
178
+ - test/unit/test_paginated_iterator.rb
179
+ - test/unit/test_proactive_results.rb
180
+ - test/unit/test_question_generator.rb
181
+ - test/unit/test_threadpool.rb
182
+ - test/unit/test_user_data_store.rb
183
+ homepage: https://requester.mturk.com/
184
+ licenses:
185
+ - APLv2
186
+ metadata: {}
187
+ post_install_message:
188
+ rdoc_options:
189
+ - "--main"
190
+ - README.md
191
+ require_paths:
192
+ - lib
193
+ required_ruby_version: !ruby/object:Gem::Requirement
194
+ requirements:
195
+ - - ">="
196
+ - !ruby/object:Gem::Version
197
+ version: '0'
198
+ required_rubygems_version: !ruby/object:Gem::Requirement
199
+ requirements:
200
+ - - ">="
201
+ - !ruby/object:Gem::Version
202
+ version: '0'
203
+ requirements: []
204
+ rubyforge_project:
205
+ rubygems_version: 2.4.5
206
+ signing_key:
207
+ specification_version: 4
208
+ summary: Ruby libraries for working with Mechanical Turk
209
+ test_files:
210
+ - test/unit/test_question_generator.rb
211
+ - test/unit/test_mock_transport.rb
212
+ - test/unit/test_lazy_results.rb
213
+ - test/unit/test_user_data_store.rb
214
+ - test/unit/test_data_reader.rb
215
+ - test/unit/test_paginated_iterator.rb
216
+ - test/unit/test_binder.rb
217
+ - test/unit/test_threadpool.rb
218
+ - test/unit/test_exceptions.rb
219
+ - test/unit/test_hash_nesting.rb
220
+ - test/unit/test_proactive_results.rb
221
+ - test/test_mturk.rb
222
+ - test/mturk/test_changehittypeofhit.rb
223
+ - test/mturk/test_mock_mechanical_turk_requester.rb
224
+ - test/mturk/test_mechanical_turk_requester.rb
225
+ - test/mturk/test_error_handler.rb