rturk 2.3.0 → 2.3.1
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/lib/rturk/adapters/hit.rb +7 -1
- data/lib/rturk/operations/create_qualification_type.rb +18 -8
- data/lib/rturk/operations/get_qualification_type.rb +20 -0
- data/lib/rturk/operations/get_qualifications_for_qualification_type.rb +26 -0
- data/lib/rturk/operations/notify_workers.rb +2 -0
- data/lib/rturk/operations/revoke_qualification.rb +1 -1
- data/lib/rturk/operations/update_qualification_type.rb +36 -0
- data/lib/rturk/parsers/qualification_parser.rb +19 -0
- data/lib/rturk/parsers/responses/get_qualification_type_response.rb +33 -0
- data/lib/rturk/parsers/responses/get_qualifications_for_qualification_type_response.rb +26 -0
- data/rturk.gemspec +17 -3
- data/spec/adapters/hit_spec.rb +8 -0
- data/spec/fake_responses/get_qualification_type.xml +18 -0
- data/spec/fake_responses/get_qualifications_for_qualification_type.xml +28 -0
- data/spec/fake_responses/update_qualification_type.xml +15 -0
- data/spec/operations/create_qualification_type_spec.rb +2 -3
- data/spec/operations/get_qualification_type_spec.rb +26 -0
- data/spec/operations/get_qualifications_for_qualification_type_spec.rb +27 -0
- data/spec/operations/update_qualification_type_spec.rb +24 -0
- metadata +18 -4
- data/lib/rturk/parsers/responses/create_qualification_type_response.rb +0 -27
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.3.
|
1
|
+
2.3.1
|
data/lib/rturk/adapters/hit.rb
CHANGED
@@ -28,8 +28,14 @@ module RTurk
|
|
28
28
|
new(response.hit_id, response)
|
29
29
|
end
|
30
30
|
|
31
|
+
# Find all the details for a HIT
|
32
|
+
# You could do this manually with new(id), and only call for the details
|
33
|
+
# you need, or simply call this and get them all
|
31
34
|
def find(id)
|
32
|
-
|
35
|
+
h = new(id)
|
36
|
+
h.details
|
37
|
+
h.assignments
|
38
|
+
h
|
33
39
|
end
|
34
40
|
|
35
41
|
def all_reviewable
|
@@ -2,19 +2,29 @@
|
|
2
2
|
|
3
3
|
module RTurk
|
4
4
|
class CreateQualificationType < Operation
|
5
|
-
attr_accessor :name, :description, :keywords, :status, :auto_granted
|
6
|
-
|
5
|
+
attr_accessor :name, :description, :keywords, :status, :auto_granted,
|
6
|
+
:retry_delay_in_seconds, :test, :answer_key,
|
7
|
+
:test_duration_in_seconds, :auto_granted_value
|
8
|
+
require_params :name, :description
|
7
9
|
|
8
10
|
def parse(response)
|
9
|
-
RTurk::
|
11
|
+
RTurk::GetQualificationTypeResponse.new(response)
|
10
12
|
end
|
11
13
|
|
12
14
|
def to_params
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
15
|
+
params = {
|
16
|
+
'Name' => name,
|
17
|
+
'Description' => description,
|
18
|
+
'QualificationTypeStatus' => (status || "Active")
|
19
|
+
}
|
20
|
+
params['Keywords'] = keywords unless keywords.nil?
|
21
|
+
params['AutoGranted'] = auto_granted unless auto_granted.nil?
|
22
|
+
params['AutoGrantedValue'] = auto_granted_value unless auto_granted_value.nil?
|
23
|
+
params['RetryDelayInSeconds'] = retry_delay_in_seconds unless retry_delay_in_seconds.nil?
|
24
|
+
params['Test'] = test unless test.nil?
|
25
|
+
params['AnswerKey'] = answer_key unless answer_key.nil?
|
26
|
+
params['TestDurationInSeconds'] = test_duration_in_seconds unless test_duration_in_seconds.nil?
|
27
|
+
params
|
18
28
|
end
|
19
29
|
end
|
20
30
|
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# Operation to get info about qualification type
|
2
|
+
|
3
|
+
module RTurk
|
4
|
+
class GetQualificationType < Operation
|
5
|
+
attr_accessor :qualification_type_id
|
6
|
+
require_params :qualification_type_id
|
7
|
+
|
8
|
+
def parse(xml)
|
9
|
+
RTurk::GetQualificationTypeResponse.new(xml)
|
10
|
+
end
|
11
|
+
|
12
|
+
def to_params
|
13
|
+
{'QualificationTypeId' => qualification_type_id}
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.GetQualificationType(*args)
|
18
|
+
RTurk::GetQualificationType.create(*args)
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# Operation to get qualifications for a qualification type
|
2
|
+
|
3
|
+
module RTurk
|
4
|
+
class GetQualificationsForQualificationType < Operation
|
5
|
+
attr_accessor :qualification_type_id, :status, :page_size, :page_number
|
6
|
+
require_params :qualification_type_id
|
7
|
+
|
8
|
+
def parse(xml)
|
9
|
+
RTurk::GetQualificationsForQualificationTypeResponse.new(xml)
|
10
|
+
end
|
11
|
+
|
12
|
+
def to_params
|
13
|
+
params = {
|
14
|
+
'QualificationTypeId' => qualification_type_id
|
15
|
+
}
|
16
|
+
params['Status'] = status unless status.nil?
|
17
|
+
params['PageSize'] = page_size unless page_size.nil?
|
18
|
+
params['PageNumber'] = page_number unless page_number.nil?
|
19
|
+
params
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.GetQualificationsForQualificationType(*args)
|
24
|
+
RTurk::GetQualificationsForQualificationType.create(*args)
|
25
|
+
end
|
26
|
+
end
|
@@ -13,6 +13,8 @@ module RTurk
|
|
13
13
|
require_params :worker_ids, :subject, :message_text
|
14
14
|
|
15
15
|
def to_params
|
16
|
+
message_text.strip!
|
17
|
+
|
16
18
|
if worker_ids.length > 100
|
17
19
|
raise ArgumentError, 'Cannot send a message to more than 100 workers at a time.'
|
18
20
|
elsif message_text.length > 4096
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# Operation to update a qualification type
|
2
|
+
|
3
|
+
module RTurk
|
4
|
+
class UpdateQualificationType < Operation
|
5
|
+
attr_accessor :qualification_type_id, :name, :description, :keywords,
|
6
|
+
:status, :auto_granted, :retry_delay_in_seconds,
|
7
|
+
:test, :answer_key, :test_duration_in_seconds,
|
8
|
+
:auto_granted_value
|
9
|
+
require_params :qualification_type_id
|
10
|
+
|
11
|
+
def parse(xml)
|
12
|
+
RTurk::GetQualificationTypeResponse.new(xml)
|
13
|
+
end
|
14
|
+
|
15
|
+
def to_params
|
16
|
+
params = {
|
17
|
+
'QualificationTypeId' => qualification_type_id
|
18
|
+
}
|
19
|
+
params['Name'] = name unless name.nil?
|
20
|
+
params['Description'] = description unless description.nil?
|
21
|
+
params['Keywords'] = keywords unless keywords.nil?
|
22
|
+
params['QualificationTypeStatus'] = status unless status.nil?
|
23
|
+
params['AutoGranted'] = auto_granted unless auto_granted.nil?
|
24
|
+
params['RetryDelayInSeconds'] = retry_delay_in_seconds unless retry_delay_in_seconds.nil?
|
25
|
+
params['Test'] = test unless test.nil?
|
26
|
+
params['AnswerKey'] = answer_key unless answer_key.nil?
|
27
|
+
params['TestDurationInSeconds'] = test_duration_in_seconds unless test_duration_in_seconds.nil?
|
28
|
+
params['AutoGrantedValue'] = auto_granted_value unless auto_granted_value.nil?
|
29
|
+
params
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def self.UpdateQualificationType(*args)
|
34
|
+
RTurk::UpdateQualificationType.create(*args)
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# Parses a Qualification object
|
2
|
+
|
3
|
+
module RTurk
|
4
|
+
class QualificationParser < RTurk::Parser
|
5
|
+
attr_reader :qualification_type_id, :subject_id, :grant_time,
|
6
|
+
:integer_value, :locale_value, :status
|
7
|
+
|
8
|
+
def initialize(qualifications_xml)
|
9
|
+
@xml_obj = qualifications_xml
|
10
|
+
map_content(@xml_obj,
|
11
|
+
:qualification_type_id => 'QualificationTypeId',
|
12
|
+
:subject_id => 'SubjectId',
|
13
|
+
:grant_time => 'GrantTime',
|
14
|
+
:integer_value => 'IntegerValue',
|
15
|
+
:locale_value => 'LocaleValue',
|
16
|
+
:status => 'Status')
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# Parses the GetQualificationType Response
|
2
|
+
|
3
|
+
module RTurk
|
4
|
+
class GetQualificationTypeResponse < Response
|
5
|
+
attr_reader :qualification_type_id, :creation_time, :name, :description,
|
6
|
+
:keywords, :status, :retry_delay_in_seconds, :is_requestable,
|
7
|
+
:test, :test_duration_in_seconds, :answer_key, :auto_granted,
|
8
|
+
:auto_granted_value
|
9
|
+
|
10
|
+
def initialize(response)
|
11
|
+
@raw_xml = response.body
|
12
|
+
@xml = Nokogiri::XML(@raw_xml)
|
13
|
+
raise_errors
|
14
|
+
map_content(@xml.xpath('//QualificationType'),
|
15
|
+
:qualification_type_id => 'QualificationTypeId',
|
16
|
+
:creation_time => 'CreationTime',
|
17
|
+
:name => 'Name',
|
18
|
+
:description => 'Description',
|
19
|
+
:keywords => 'Keywords',
|
20
|
+
:status => 'QualificationTypeStatus',
|
21
|
+
:retry_delay_in_seconds => 'RetryDelayInSeconds',
|
22
|
+
:is_requestable => 'IsRequestable',
|
23
|
+
:test => 'Test',
|
24
|
+
:test_duration_in_seconds => 'TestDurationInSeconds',
|
25
|
+
:answer_key => 'AnswerKey',
|
26
|
+
:auto_granted => 'AutoGranted',
|
27
|
+
:auto_granted_value => 'AutoGrantedValue'
|
28
|
+
)
|
29
|
+
|
30
|
+
@keywords = @keywords.split(', ') if @keywords
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# Parses the GetQualificationType Response
|
2
|
+
|
3
|
+
module RTurk
|
4
|
+
class GetQualificationsForQualificationTypeResponse < Response
|
5
|
+
attr_reader :num_results, :total_num_results, :page_number
|
6
|
+
|
7
|
+
def initialize(response)
|
8
|
+
@raw_xml = response.body
|
9
|
+
@xml = Nokogiri::XML(@raw_xml)
|
10
|
+
raise_errors
|
11
|
+
map_content(@xml.xpath('//GetQualificationsForQualificationTypeResult'),
|
12
|
+
:num_results => 'NumResults',
|
13
|
+
:total_num_results => 'TotalNumResults',
|
14
|
+
:page_number => 'PageNumber'
|
15
|
+
)
|
16
|
+
end
|
17
|
+
|
18
|
+
def qualifications
|
19
|
+
@qualifications ||= []
|
20
|
+
@xml.xpath('//Qualification').each do |qualification_xml|
|
21
|
+
@qualifications << QualificationParser.new(qualification_xml)
|
22
|
+
end
|
23
|
+
@qualifications
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
data/rturk.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{rturk}
|
8
|
-
s.version = "2.3.
|
8
|
+
s.version = "2.3.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Mark Percival"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-09-25}
|
13
13
|
s.email = %q{mark@mpercival.com}
|
14
14
|
s.extra_rdoc_files = [
|
15
15
|
"LICENSE",
|
@@ -142,6 +142,8 @@ Gem::Specification.new do |s|
|
|
142
142
|
"lib/rturk/operations/get_account_balance.rb",
|
143
143
|
"lib/rturk/operations/get_assignments_for_hit.rb",
|
144
144
|
"lib/rturk/operations/get_hit.rb",
|
145
|
+
"lib/rturk/operations/get_qualification_type.rb",
|
146
|
+
"lib/rturk/operations/get_qualifications_for_qualification_type.rb",
|
145
147
|
"lib/rturk/operations/get_reviewable_hits.rb",
|
146
148
|
"lib/rturk/operations/grant_bonus.rb",
|
147
149
|
"lib/rturk/operations/notify_workers.rb",
|
@@ -152,16 +154,19 @@ Gem::Specification.new do |s|
|
|
152
154
|
"lib/rturk/operations/send_test_event_notification.rb",
|
153
155
|
"lib/rturk/operations/set_hit_type_notification.rb",
|
154
156
|
"lib/rturk/operations/unblock_worker.rb",
|
157
|
+
"lib/rturk/operations/update_qualification_type.rb",
|
155
158
|
"lib/rturk/parser.rb",
|
156
159
|
"lib/rturk/parsers/answer_parser.rb",
|
157
160
|
"lib/rturk/parsers/assignment_parser.rb",
|
158
161
|
"lib/rturk/parsers/hit_parser.rb",
|
162
|
+
"lib/rturk/parsers/qualification_parser.rb",
|
159
163
|
"lib/rturk/parsers/response.rb",
|
160
164
|
"lib/rturk/parsers/responses/create_hit_response.rb",
|
161
|
-
"lib/rturk/parsers/responses/create_qualification_type_response.rb",
|
162
165
|
"lib/rturk/parsers/responses/get_account_balance_response.rb",
|
163
166
|
"lib/rturk/parsers/responses/get_assignments_for_hit_response.rb",
|
164
167
|
"lib/rturk/parsers/responses/get_hit_response.rb",
|
168
|
+
"lib/rturk/parsers/responses/get_qualification_type_response.rb",
|
169
|
+
"lib/rturk/parsers/responses/get_qualifications_for_qualification_type_response.rb",
|
165
170
|
"lib/rturk/parsers/responses/get_reviewable_hits_response.rb",
|
166
171
|
"lib/rturk/parsers/responses/register_hit_type_response.rb",
|
167
172
|
"lib/rturk/parsers/responses/search_hits_response.rb",
|
@@ -189,6 +194,8 @@ Gem::Specification.new do |s|
|
|
189
194
|
"spec/fake_responses/get_assignments.xml",
|
190
195
|
"spec/fake_responses/get_assignments_multiple.xml",
|
191
196
|
"spec/fake_responses/get_hit.xml",
|
197
|
+
"spec/fake_responses/get_qualification_type.xml",
|
198
|
+
"spec/fake_responses/get_qualifications_for_qualification_type.xml",
|
192
199
|
"spec/fake_responses/get_reviewable_hits.xml",
|
193
200
|
"spec/fake_responses/grant_bonus.xml",
|
194
201
|
"spec/fake_responses/invalid_credentials.xml",
|
@@ -198,6 +205,7 @@ Gem::Specification.new do |s|
|
|
198
205
|
"spec/fake_responses/revoke_qualification.xml",
|
199
206
|
"spec/fake_responses/search_hits.xml",
|
200
207
|
"spec/fake_responses/unblock_worker.xml",
|
208
|
+
"spec/fake_responses/update_qualification_type.xml",
|
201
209
|
"spec/mturk.sample.yml",
|
202
210
|
"spec/operations/approve_assignment_spec.rb",
|
203
211
|
"spec/operations/assign_qualification_spec.rb",
|
@@ -212,6 +220,8 @@ Gem::Specification.new do |s|
|
|
212
220
|
"spec/operations/get_account_balance_spec.rb",
|
213
221
|
"spec/operations/get_assignments_spec.rb",
|
214
222
|
"spec/operations/get_hit_spec.rb",
|
223
|
+
"spec/operations/get_qualification_type_spec.rb",
|
224
|
+
"spec/operations/get_qualifications_for_qualification_type_spec.rb",
|
215
225
|
"spec/operations/get_reviewable_hits_spec.rb",
|
216
226
|
"spec/operations/grant_bonus_spec.rb",
|
217
227
|
"spec/operations/notify_workers_spec.rb",
|
@@ -221,6 +231,7 @@ Gem::Specification.new do |s|
|
|
221
231
|
"spec/operations/send_test_event_notification_spec.rb",
|
222
232
|
"spec/operations/set_hit_type_notification_spec.rb",
|
223
233
|
"spec/operations/unblock_worker_spec.rb",
|
234
|
+
"spec/operations/update_qualification_type_spec.rb",
|
224
235
|
"spec/parsers/answer_parser_spec.rb",
|
225
236
|
"spec/parsers/hit_parser_spec.rb",
|
226
237
|
"spec/requester_spec.rb",
|
@@ -255,6 +266,8 @@ Gem::Specification.new do |s|
|
|
255
266
|
"spec/operations/get_account_balance_spec.rb",
|
256
267
|
"spec/operations/get_assignments_spec.rb",
|
257
268
|
"spec/operations/get_hit_spec.rb",
|
269
|
+
"spec/operations/get_qualification_type_spec.rb",
|
270
|
+
"spec/operations/get_qualifications_for_qualification_type_spec.rb",
|
258
271
|
"spec/operations/get_reviewable_hits_spec.rb",
|
259
272
|
"spec/operations/grant_bonus_spec.rb",
|
260
273
|
"spec/operations/notify_workers_spec.rb",
|
@@ -264,6 +277,7 @@ Gem::Specification.new do |s|
|
|
264
277
|
"spec/operations/send_test_event_notification_spec.rb",
|
265
278
|
"spec/operations/set_hit_type_notification_spec.rb",
|
266
279
|
"spec/operations/unblock_worker_spec.rb",
|
280
|
+
"spec/operations/update_qualification_type_spec.rb",
|
267
281
|
"spec/parsers/answer_parser_spec.rb",
|
268
282
|
"spec/parsers/hit_parser_spec.rb",
|
269
283
|
"spec/requester_spec.rb",
|
data/spec/adapters/hit_spec.rb
CHANGED
@@ -19,6 +19,14 @@ describe "HIT adapter" do
|
|
19
19
|
RTurk::Hit.create(:title => 'foo', :description => 'do foo', :question => 'http://mpercival.com', :reward => 0.05)
|
20
20
|
end
|
21
21
|
|
22
|
+
it "should retrieve all the details of a HIT with find" do
|
23
|
+
proxy_hit = RTurk::Hit.new(12345)
|
24
|
+
proxy_hit.should_receive(:details)
|
25
|
+
proxy_hit.should_receive(:assignments)
|
26
|
+
RTurk::Hit.should_receive(:new).and_return(proxy_hit)
|
27
|
+
hit = RTurk::Hit.find(12345)
|
28
|
+
end
|
29
|
+
|
22
30
|
it "should automagically request additional information on an existing hit" do
|
23
31
|
hit = RTurk::Hit.new(12345)
|
24
32
|
hit.type_id.should eql("YGKZ2W5X6YFZ08ZRXXZZ")
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<GetQualificationTypeResponse>
|
2
|
+
<OperationRequest>
|
3
|
+
<RequestId>49341251-fcbd-45c3-ab98-8fbe2e4d8060</RequestId>
|
4
|
+
</OperationRequest>
|
5
|
+
<QualificationType>
|
6
|
+
<Request>
|
7
|
+
<IsValid>True</IsValid>
|
8
|
+
</Request>
|
9
|
+
<QualificationTypeId>789RVWYBAZW00EXAMPLE</QualificationTypeId>
|
10
|
+
<CreationTime>2005-01-31T23:59:59Z</CreationTime>
|
11
|
+
<Name>EnglishWritingAbility</Name>
|
12
|
+
<Description>The ability to write and edit text...</Description>
|
13
|
+
<Keywords>English, text, write, edit, language</Keywords>
|
14
|
+
<QualificationTypeStatus>Active</QualificationTypeStatus>
|
15
|
+
<RetryDelayInSeconds>86400</RetryDelayInSeconds>
|
16
|
+
<IsRequestable>true</IsRequestable>
|
17
|
+
</QualificationType>
|
18
|
+
</GetQualificationTypeResponse>
|
@@ -0,0 +1,28 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<GetQualificationsForQualificationTypeResponse>
|
3
|
+
<OperationRequest>
|
4
|
+
<RequestId>49341251-fcbd-45c3-ab98-8fbe2e4d8060</RequestId>
|
5
|
+
</OperationRequest>
|
6
|
+
<GetQualificationsForQualificationTypeResult>
|
7
|
+
<Request>
|
8
|
+
<IsValid>True</IsValid>
|
9
|
+
</Request>
|
10
|
+
<NumResults>2</NumResults>
|
11
|
+
<TotalNumResults>2</TotalNumResults>
|
12
|
+
<PageNumber>1</PageNumber>
|
13
|
+
<Qualification>
|
14
|
+
<QualificationTypeId>ZSPJXD4F1SFZP7YNJWR0</QualificationTypeId>
|
15
|
+
<SubjectId>AZ3456EXAMPLE</SubjectId>
|
16
|
+
<GrantTime>2009-07-15T01:21:28.296Z</GrantTime>
|
17
|
+
<IntegerValue>1</IntegerValue>
|
18
|
+
<Status>Granted</Status>
|
19
|
+
</Qualification>
|
20
|
+
<Qualification>
|
21
|
+
<QualificationTypeId>ZSPJXD4F1SFZP7YNJWR0</QualificationTypeId>
|
22
|
+
<SubjectId>AZ4567EXAMPLE</SubjectId>
|
23
|
+
<GrantTime>2009-07-15T01:21:28.296Z</GrantTime>
|
24
|
+
<IntegerValue>1</IntegerValue>
|
25
|
+
<Status>Granted</Status>
|
26
|
+
</Qualification>
|
27
|
+
</GetQualificationsForQualificationTypeResult>
|
28
|
+
</GetQualificationsForQualificationTypeResponse>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<UpdateQualificationTypeResult>
|
2
|
+
<Request>
|
3
|
+
<IsValid>True</IsValid>
|
4
|
+
</Request>
|
5
|
+
<QualificationType>
|
6
|
+
<QualificationTypeId>789RVWYBAZW00EXAMPLE</QualificationTypeId>
|
7
|
+
<CreationTime>2009-06-15T12:00:01Z</CreationTime>
|
8
|
+
<Name>EnglishWritingAbility</Name>
|
9
|
+
<Description>The ability to write and edit text...</Description>
|
10
|
+
<Keywords>English, text, write, edit, language</Keywords>
|
11
|
+
<QualificationTypeStatus>Active</QualificationTypeStatus>
|
12
|
+
<RetryDelayInSeconds>86400</RetryDelayInSeconds>
|
13
|
+
<IsRequestable>true</IsRequestable>
|
14
|
+
</QualificationType>
|
15
|
+
</UpdateQualificationTypeResult>
|
@@ -14,12 +14,11 @@ describe RTurk::CreateQualificationType do
|
|
14
14
|
it "should successfully request the operation" do
|
15
15
|
RTurk::Requester.should_receive(:request).once.with(
|
16
16
|
hash_including('Operation' => 'CreateQualificationType'))
|
17
|
-
RTurk::CreateQualificationType(:name => "bogus") rescue RTurk::InvalidRequest
|
17
|
+
RTurk::CreateQualificationType(:name => "bogus", :description => 'really bogus') rescue RTurk::InvalidRequest
|
18
18
|
end
|
19
19
|
|
20
20
|
it "should parse and return the result" do
|
21
|
-
response = RTurk::CreateQualificationType(:name => "bogus")
|
22
|
-
response['CreateQualificationTypeResponse']['QualificationType']['QualificationTypeId'].should == "ZSPJXD4F1SFZP7YNJWR0"
|
21
|
+
response = RTurk::CreateQualificationType(:name => "bogus", :description => 'really bogus')
|
23
22
|
response.qualification_type_id.should == "ZSPJXD4F1SFZP7YNJWR0"
|
24
23
|
end
|
25
24
|
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
|
2
|
+
|
3
|
+
describe RTurk::GetQualificationType do
|
4
|
+
before(:all) do
|
5
|
+
aws = YAML.load(File.open(File.join(SPEC_ROOT, 'mturk.yml')))
|
6
|
+
RTurk.setup(aws['AWSAccessKeyId'], aws['AWSAccessKey'], :sandbox => true)
|
7
|
+
faker('get_qualification_type', :operation => 'GetQualificationType')
|
8
|
+
end
|
9
|
+
|
10
|
+
it "should ensure required params" do
|
11
|
+
lambda{RTurk::GetQualificationType()}.should raise_error RTurk::MissingParameters
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should successfully request the operation" do
|
15
|
+
RTurk::Requester.should_receive(:request).once.with(
|
16
|
+
hash_including('Operation' => 'GetQualificationType'))
|
17
|
+
RTurk::GetQualificationType(:qualification_type_id => '789RVWYBAZW00EXAMPLE') rescue RTurk::InvalidRequest
|
18
|
+
end
|
19
|
+
|
20
|
+
it "should parse and return the result" do
|
21
|
+
response = RTurk::GetQualificationType(:qualification_type_id => '789RVWYBAZW00EXAMPLE')
|
22
|
+
response.name.should == 'EnglishWritingAbility'
|
23
|
+
response.description.should == "The ability to write and edit text..."
|
24
|
+
response.keywords.should == ["English", "text", "write", "edit", "language"]
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
|
2
|
+
|
3
|
+
describe RTurk::GetQualificationsForQualificationType do
|
4
|
+
before(:all) do
|
5
|
+
aws = YAML.load(File.open(File.join(SPEC_ROOT, 'mturk.yml')))
|
6
|
+
RTurk.setup(aws['AWSAccessKeyId'], aws['AWSAccessKey'], :sandbox => true)
|
7
|
+
faker('get_qualifications_for_qualification_type', :operation => 'GetQualificationsForQualificationType')
|
8
|
+
end
|
9
|
+
|
10
|
+
it "should ensure required params" do
|
11
|
+
lambda{RTurk::GetQualificationsForQualificationType()}.should raise_error RTurk::MissingParameters
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should successfully request the operation" do
|
15
|
+
RTurk::Requester.should_receive(:request).once.with(
|
16
|
+
hash_including('Operation' => 'GetQualificationsForQualificationType'))
|
17
|
+
RTurk::GetQualificationsForQualificationType(:qualification_type_id => '789RVWYBAZW00EXAMPLE') rescue RTurk::InvalidRequest
|
18
|
+
end
|
19
|
+
|
20
|
+
it "should parse and return the result" do
|
21
|
+
response = RTurk::GetQualificationsForQualificationType(:qualification_type_id => '789RVWYBAZW00EXAMPLE')
|
22
|
+
response.num_results.should == 2
|
23
|
+
response.qualifications.length.should == 2
|
24
|
+
response.qualifications[0].subject_id.should == 'AZ3456EXAMPLE'
|
25
|
+
response.qualifications[1].subject_id.should == 'AZ4567EXAMPLE'
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
|
2
|
+
|
3
|
+
describe RTurk::UpdateQualificationType do
|
4
|
+
before(:all) do
|
5
|
+
aws = YAML.load(File.open(File.join(SPEC_ROOT, 'mturk.yml')))
|
6
|
+
RTurk.setup(aws['AWSAccessKeyId'], aws['AWSAccessKey'], :sandbox => true)
|
7
|
+
faker('update_qualification_type', :operation => 'UpdateQualificationType')
|
8
|
+
end
|
9
|
+
|
10
|
+
it "should ensure required params" do
|
11
|
+
lambda{RTurk::UpdateQualificationType()}.should raise_error RTurk::MissingParameters
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should successfully request the operation" do
|
15
|
+
RTurk::Requester.should_receive(:request).once.with(
|
16
|
+
hash_including('Operation' => 'UpdateQualificationType'))
|
17
|
+
RTurk::UpdateQualificationType(:qualification_type_id => '789RVWYBAZW00EXAMPLE', :name => "bogus") rescue RTurk::InvalidRequest
|
18
|
+
end
|
19
|
+
|
20
|
+
it "should parse and return the result" do
|
21
|
+
response = RTurk::UpdateQualificationType(:qualification_type_id => '789RVWYBAZW00EXAMPLE', :name => "bogus")
|
22
|
+
response.qualification_type_id.should == "789RVWYBAZW00EXAMPLE"
|
23
|
+
end
|
24
|
+
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 2
|
7
7
|
- 3
|
8
|
-
-
|
9
|
-
version: 2.3.
|
8
|
+
- 1
|
9
|
+
version: 2.3.1
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Mark Percival
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-09-25 00:00:00 -07:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -181,6 +181,8 @@ files:
|
|
181
181
|
- lib/rturk/operations/get_account_balance.rb
|
182
182
|
- lib/rturk/operations/get_assignments_for_hit.rb
|
183
183
|
- lib/rturk/operations/get_hit.rb
|
184
|
+
- lib/rturk/operations/get_qualification_type.rb
|
185
|
+
- lib/rturk/operations/get_qualifications_for_qualification_type.rb
|
184
186
|
- lib/rturk/operations/get_reviewable_hits.rb
|
185
187
|
- lib/rturk/operations/grant_bonus.rb
|
186
188
|
- lib/rturk/operations/notify_workers.rb
|
@@ -191,16 +193,19 @@ files:
|
|
191
193
|
- lib/rturk/operations/send_test_event_notification.rb
|
192
194
|
- lib/rturk/operations/set_hit_type_notification.rb
|
193
195
|
- lib/rturk/operations/unblock_worker.rb
|
196
|
+
- lib/rturk/operations/update_qualification_type.rb
|
194
197
|
- lib/rturk/parser.rb
|
195
198
|
- lib/rturk/parsers/answer_parser.rb
|
196
199
|
- lib/rturk/parsers/assignment_parser.rb
|
197
200
|
- lib/rturk/parsers/hit_parser.rb
|
201
|
+
- lib/rturk/parsers/qualification_parser.rb
|
198
202
|
- lib/rturk/parsers/response.rb
|
199
203
|
- lib/rturk/parsers/responses/create_hit_response.rb
|
200
|
-
- lib/rturk/parsers/responses/create_qualification_type_response.rb
|
201
204
|
- lib/rturk/parsers/responses/get_account_balance_response.rb
|
202
205
|
- lib/rturk/parsers/responses/get_assignments_for_hit_response.rb
|
203
206
|
- lib/rturk/parsers/responses/get_hit_response.rb
|
207
|
+
- lib/rturk/parsers/responses/get_qualification_type_response.rb
|
208
|
+
- lib/rturk/parsers/responses/get_qualifications_for_qualification_type_response.rb
|
204
209
|
- lib/rturk/parsers/responses/get_reviewable_hits_response.rb
|
205
210
|
- lib/rturk/parsers/responses/register_hit_type_response.rb
|
206
211
|
- lib/rturk/parsers/responses/search_hits_response.rb
|
@@ -228,6 +233,8 @@ files:
|
|
228
233
|
- spec/fake_responses/get_assignments.xml
|
229
234
|
- spec/fake_responses/get_assignments_multiple.xml
|
230
235
|
- spec/fake_responses/get_hit.xml
|
236
|
+
- spec/fake_responses/get_qualification_type.xml
|
237
|
+
- spec/fake_responses/get_qualifications_for_qualification_type.xml
|
231
238
|
- spec/fake_responses/get_reviewable_hits.xml
|
232
239
|
- spec/fake_responses/grant_bonus.xml
|
233
240
|
- spec/fake_responses/invalid_credentials.xml
|
@@ -237,6 +244,7 @@ files:
|
|
237
244
|
- spec/fake_responses/revoke_qualification.xml
|
238
245
|
- spec/fake_responses/search_hits.xml
|
239
246
|
- spec/fake_responses/unblock_worker.xml
|
247
|
+
- spec/fake_responses/update_qualification_type.xml
|
240
248
|
- spec/mturk.sample.yml
|
241
249
|
- spec/operations/approve_assignment_spec.rb
|
242
250
|
- spec/operations/assign_qualification_spec.rb
|
@@ -251,6 +259,8 @@ files:
|
|
251
259
|
- spec/operations/get_account_balance_spec.rb
|
252
260
|
- spec/operations/get_assignments_spec.rb
|
253
261
|
- spec/operations/get_hit_spec.rb
|
262
|
+
- spec/operations/get_qualification_type_spec.rb
|
263
|
+
- spec/operations/get_qualifications_for_qualification_type_spec.rb
|
254
264
|
- spec/operations/get_reviewable_hits_spec.rb
|
255
265
|
- spec/operations/grant_bonus_spec.rb
|
256
266
|
- spec/operations/notify_workers_spec.rb
|
@@ -260,6 +270,7 @@ files:
|
|
260
270
|
- spec/operations/send_test_event_notification_spec.rb
|
261
271
|
- spec/operations/set_hit_type_notification_spec.rb
|
262
272
|
- spec/operations/unblock_worker_spec.rb
|
273
|
+
- spec/operations/update_qualification_type_spec.rb
|
263
274
|
- spec/parsers/answer_parser_spec.rb
|
264
275
|
- spec/parsers/hit_parser_spec.rb
|
265
276
|
- spec/requester_spec.rb
|
@@ -318,6 +329,8 @@ test_files:
|
|
318
329
|
- spec/operations/get_account_balance_spec.rb
|
319
330
|
- spec/operations/get_assignments_spec.rb
|
320
331
|
- spec/operations/get_hit_spec.rb
|
332
|
+
- spec/operations/get_qualification_type_spec.rb
|
333
|
+
- spec/operations/get_qualifications_for_qualification_type_spec.rb
|
321
334
|
- spec/operations/get_reviewable_hits_spec.rb
|
322
335
|
- spec/operations/grant_bonus_spec.rb
|
323
336
|
- spec/operations/notify_workers_spec.rb
|
@@ -327,6 +340,7 @@ test_files:
|
|
327
340
|
- spec/operations/send_test_event_notification_spec.rb
|
328
341
|
- spec/operations/set_hit_type_notification_spec.rb
|
329
342
|
- spec/operations/unblock_worker_spec.rb
|
343
|
+
- spec/operations/update_qualification_type_spec.rb
|
330
344
|
- spec/parsers/answer_parser_spec.rb
|
331
345
|
- spec/parsers/hit_parser_spec.rb
|
332
346
|
- spec/requester_spec.rb
|
@@ -1,27 +0,0 @@
|
|
1
|
-
# Parses out the CreateQualificationType response
|
2
|
-
#
|
3
|
-
# Example response:
|
4
|
-
# <CreateQualificationTypeResponse>
|
5
|
-
# <OperationRequest>
|
6
|
-
# <RequestId>5218189c-1d7e-49a3-abbf-672fb5e77c66</RequestId>
|
7
|
-
# </OperationRequest>
|
8
|
-
# <QualificationType>
|
9
|
-
# <Request>
|
10
|
-
# <IsValid>True</IsValid>
|
11
|
-
# </Request>
|
12
|
-
# <QualificationTypeId>ZSPJXD4F1SFZP7YNJWR0</QualificationTypeId>
|
13
|
-
# <CreationTime>2009-07-13T17:26:33Z</CreationTime>
|
14
|
-
# <Name>SampleQualificationTest</Name>
|
15
|
-
# <Description>Description of my qualification test.</Description>
|
16
|
-
# <QualificationTypeStatus>Active</QualificationTypeStatus>
|
17
|
-
# <AutoGranted>0</AutoGranted>
|
18
|
-
# </QualificationType>
|
19
|
-
# </CreateQualificationTypeResponse>
|
20
|
-
|
21
|
-
module RTurk
|
22
|
-
class CreateQualificationTypeResponse < Response
|
23
|
-
def qualification_type_id
|
24
|
-
@xml.xpath('//QualificationTypeId').inner_text
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|