crowdflower 0.4.2 → 0.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/VERSION +1 -1
- data/crowdflower.gemspec +2 -2
- data/lib/crowdflower/base.rb +3 -2
- data/lib/crowdflower/job.rb +12 -4
- data/lib/crowdflower/judgment.rb +2 -1
- data/test/integration_tests.rb +17 -4
- metadata +4 -4
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.4.
|
1
|
+
0.4.5
|
data/crowdflower.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{crowdflower}
|
8
|
-
s.version = "0.4.
|
8
|
+
s.version = "0.4.5"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Brian P O'Rourke", "Chris Van Pelt"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-12-03}
|
13
13
|
s.description = %q{A toolkit for interacting with CrowdFlower via the REST API.
|
14
14
|
|
15
15
|
This is alpha software. Have fun!
|
data/lib/crowdflower/base.rb
CHANGED
@@ -32,8 +32,9 @@ module CrowdFlower
|
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
35
|
-
def self.connect!(key, development = false)
|
36
|
-
@@
|
35
|
+
def self.connect!(key, development = false, version = 1)
|
36
|
+
@@version = version
|
37
|
+
@@domain = development ? "http://api.localhost.com:4000/v#{version}" : "https://api.crowdflower.com/v#{version}"
|
37
38
|
@@key = key
|
38
39
|
begin # pass yaml file
|
39
40
|
key = YAML.load_file(key)
|
data/lib/crowdflower/job.rb
CHANGED
@@ -82,14 +82,14 @@ module CrowdFlower
|
|
82
82
|
Job.get("#{resource_uri}/#{@id}/legend")
|
83
83
|
end
|
84
84
|
|
85
|
-
def download_csv(
|
86
|
-
filename ||= "#{
|
87
|
-
res = Job.get("#{resource_uri}/#{@id}.csv", {:format => :csv, :query => {:
|
85
|
+
def download_csv(type = :full, filename = nil)
|
86
|
+
filename ||= "#{type.to_s[0].chr}#{@id}.csv"
|
87
|
+
res = Job.get("#{resource_uri}/#{@id}.csv", {:format => :csv, :query => {:type => type}})
|
88
88
|
puts "Status... #{res.code.inspect}"
|
89
89
|
if res.code == 202
|
90
90
|
puts "CSV Generating... Trying again in 10 seconds."
|
91
91
|
Kernel.sleep 10
|
92
|
-
download_csv(
|
92
|
+
download_csv(type, filename)
|
93
93
|
else
|
94
94
|
puts "CSV written to: #{File.expand_path(filename)}"
|
95
95
|
File.open(filename, "w") {|f| f.puts res.body }
|
@@ -118,6 +118,14 @@ module CrowdFlower
|
|
118
118
|
def delete
|
119
119
|
Job.delete("#{resource_uri}/#{@id}.json")
|
120
120
|
end
|
121
|
+
|
122
|
+
def channels
|
123
|
+
Job.get("#{resource_uri}/#{@id}/channels")
|
124
|
+
end
|
125
|
+
|
126
|
+
def enable_channels(channels)
|
127
|
+
Job.post("#{resource_uri}/#{@id}/channels", {:body => { :channels => channels } } )
|
128
|
+
end
|
121
129
|
|
122
130
|
private
|
123
131
|
def self.custom_content_type(content_type)
|
data/lib/crowdflower/judgment.rb
CHANGED
@@ -14,7 +14,8 @@ module CrowdFlower
|
|
14
14
|
|
15
15
|
#Pull every judgment
|
16
16
|
def all(page = 1, limit = 100, latest = true)#full = true
|
17
|
-
|
17
|
+
opts = @@version == 2 ? {:unseen => latest} : {:latest => latest}
|
18
|
+
Judgment.get(resource_uri, {:query => {:limit => limit, :page => page}.merge(opts)})
|
18
19
|
end
|
19
20
|
|
20
21
|
def get(id)
|
data/test/integration_tests.rb
CHANGED
@@ -93,20 +93,33 @@ say "Registering a webhook."
|
|
93
93
|
job.update :webhook_uri => "http://localhost:8080/crowdflower"
|
94
94
|
|
95
95
|
say "Adding title, instructions, and problem to the job."
|
96
|
-
job.update({:title => 'testtt',
|
96
|
+
job.update({:title => 'testtt',
|
97
|
+
:instructions => 'testttt fdsf sfds fsdfs fesfsdf',
|
98
|
+
:cml => '<cml:text label="Text" class="unmodified" validates="required"/>'})
|
99
|
+
|
100
|
+
say "Checking channels"
|
101
|
+
assert !job.channels['available_channels'].empty?
|
102
|
+
assert job.channels['enabled_channels'].empty?
|
103
|
+
job.enable_channels ['amt']
|
104
|
+
assert job.channels['enabled_channels'] == ['amt']
|
105
|
+
job.enable_channels ['mob']
|
106
|
+
assert job.channels['enabled_channels'].sort == ['amt', 'mob']
|
107
|
+
job.enable_channels ['mob']
|
108
|
+
assert job.channels['enabled_channels'].sort == ['amt', 'mob']
|
109
|
+
|
97
110
|
|
98
111
|
say "Ordering the job."
|
99
112
|
order = CrowdFlower::Order.new(job)
|
100
113
|
unit_count = 8
|
101
114
|
order.debit(8)
|
102
|
-
wait_until { job.
|
115
|
+
wait_until { job.get["state"].casecmp('running') == 0}
|
103
116
|
|
104
117
|
say "Canceling the unit."
|
105
118
|
unit_id = job.units.all.to_a[0][0]
|
106
119
|
unit = CrowdFlower::Unit.new(job)
|
107
|
-
|
120
|
+
wait_until { unit.get(unit_id)['state'] == 'judgable' }
|
108
121
|
puts unit.cancel(unit_id).inspect
|
109
|
-
assert unit.get(unit_id)['state'] == '
|
122
|
+
assert unit.get(unit_id)['state'] == 'canceled'
|
110
123
|
|
111
124
|
say "Webhook test needs to be written."
|
112
125
|
#job.test_webhook
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: crowdflower
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 5
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 4
|
9
|
-
-
|
10
|
-
version: 0.4.
|
9
|
+
- 5
|
10
|
+
version: 0.4.5
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Brian P O'Rourke
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2010-
|
19
|
+
date: 2010-12-03 00:00:00 -08:00
|
20
20
|
default_executable:
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|