cloudfactory 0.4.5.2 → 0.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/CHANGELOG.md +4 -0
- data/lib/cf/cli/line.rb +2 -2
- data/lib/cf/line.rb +9 -2
- data/lib/cf/version.rb +1 -1
- data/spec/custom_task_form_spec.rb +4 -4
- data/spec/line_spec.rb +41 -1
- metadata +2 -2
data/CHANGELOG.md
CHANGED
data/lib/cf/cli/line.rb
CHANGED
@@ -170,7 +170,7 @@ module Cf # :nodoc: all
|
|
170
170
|
line_description = line_dump['description']
|
171
171
|
line_department = line_dump['department']
|
172
172
|
line_public = line_dump['public']
|
173
|
-
|
173
|
+
line_worker_pool = line_dump['worker_pool']
|
174
174
|
line = CF::Line.info(line_title)
|
175
175
|
if line['error'].blank? && options.force?
|
176
176
|
rollback(line.title)
|
@@ -185,7 +185,7 @@ module Cf # :nodoc: all
|
|
185
185
|
say("Line creation aborted!!", :yellow) and exit(1)
|
186
186
|
end
|
187
187
|
end
|
188
|
-
line = CF::Line.new(line_title, line_department, {:description => line_description, :public => line_public})
|
188
|
+
line = CF::Line.new(line_title, line_department, {:description => line_description, :public => line_public, :worker_pool => line_worker_pool})
|
189
189
|
say "Creating new assembly line: #{line.title}", :green
|
190
190
|
say("Error: #{line.errors}", :red) and exit(1) if line.errors.present?
|
191
191
|
|
data/lib/cf/line.rb
CHANGED
@@ -14,6 +14,10 @@ module CF
|
|
14
14
|
# Public attribute is optional, by default it's true
|
15
15
|
attr_accessor :public
|
16
16
|
|
17
|
+
# worker_pool attribute is optional, by default it's cloudfactory
|
18
|
+
attr_accessor :worker_pool
|
19
|
+
|
20
|
+
|
17
21
|
# Description attribute describes about the line
|
18
22
|
#
|
19
23
|
# Description attribute is optional
|
@@ -42,8 +46,9 @@ module CF
|
|
42
46
|
@title = title
|
43
47
|
@department_name = department_name
|
44
48
|
@public = options[:public].nil? ? true : options[:public]
|
49
|
+
@worker_pool = options[:worker_pool].nil? ? "cloudfactory" : options[:worker_pool]
|
45
50
|
@description = options[:description]
|
46
|
-
resp = self.class.post("/lines/#{CF.account_name}.json", {:line => {:title => title, :department_name => department_name, :public => @public, :description => @description}})
|
51
|
+
resp = self.class.post("/lines/#{CF.account_name}.json", {:line => {:title => title, :department_name => department_name, :public => @public,:worker_pool => @worker_pool, :description => @description}})
|
47
52
|
self.errors = resp['error']['message'] if resp['code'] != 200
|
48
53
|
return resp
|
49
54
|
end
|
@@ -158,6 +163,7 @@ module CF
|
|
158
163
|
def self.create(title, department_name, options={}, &block)
|
159
164
|
line = Line.new(title,department_name,options={})
|
160
165
|
@public = options[:public]
|
166
|
+
@worker_pool = options[:worker_pool]
|
161
167
|
@description = options[:description]
|
162
168
|
if block.arity >= 1
|
163
169
|
block.call(line)
|
@@ -369,8 +375,9 @@ module CF
|
|
369
375
|
@title = options[:title]
|
370
376
|
@department_name = options[:department_name]
|
371
377
|
@public = options[:public]
|
378
|
+
@worker_pool = options[:worker_pool]
|
372
379
|
@description = options[:description]
|
373
|
-
self.class.put("/lines/#{CF.account_name}/#{old_title.downcase}.json", :line => {:title => @title, :department_name => @department_name, :public => @public, :description => @description})
|
380
|
+
self.class.put("/lines/#{CF.account_name}/#{old_title.downcase}.json", :line => {:title => @title, :department_name => @department_name, :public => @public, :worker_pool => @worker_pool, :description => @description})
|
374
381
|
end
|
375
382
|
|
376
383
|
# ==Deletes a line
|
data/lib/cf/version.rb
CHANGED
@@ -44,9 +44,9 @@ describe CF::CustomTaskForm do
|
|
44
44
|
line.title.should eql(title)
|
45
45
|
line.department_name.should eql("Digitization")
|
46
46
|
line.stations.first.type.should eql("WorkStation")
|
47
|
-
CGI.unescape_html(line.stations.first.form.raw_html).should eql("<!DOCTYPE html>\n<html>\n<head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"></head>\n<body>\n<p>\"-//W3C//DTD HTML 4.0 Transitional//EN\\\" \\\"http://www.w3.org/TR/REC-html40/loose.dtd\\\">\\n\\n</p>\n<meta http-equiv='\\\"Content-Type\\\"' content='\\\"text/html;' charset='UTF-8\\\"'>\n<div id=\"form-content\">\n <form>\n<div id=\"instructions\">\n <ul>\n<li>Look at the business card properly and fill in asked data.</li>\n <li>Make sure you enter everything found on business card.</li>\n <li>Work may be rejected if it is incomplete or mistakes are found.</li>\n </ul>\n</div>\n <div id=\"image-field-wrapper\">\n <div id=\"image-panel\">\n <img class=\"card-image\" src=\"
|
47
|
+
CGI.unescape_html(line.stations.first.form.raw_html).should eql("<!DOCTYPE html>\n<html>\n<head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"></head>\n<body>\n<p>\"-//W3C//DTD HTML 4.0 Transitional//EN\\\" \\\"http://www.w3.org/TR/REC-html40/loose.dtd\\\">\\n\\n</p>\n<meta http-equiv='\\\"Content-Type\\\"' content='\\\"text/html;' charset='UTF-8\\\"'>\n<div id=\"form-content\">\n <form>\n<div id=\"instructions\">\n <ul>\n<li>Look at the business card properly and fill in asked data.</li>\n <li>Make sure you enter everything found on business card.</li>\n <li>Work may be rejected if it is incomplete or mistakes are found.</li>\n </ul>\n</div>\n <div id=\"image-field-wrapper\">\n <div id=\"image-panel\">\n <img class=\"card-image\" src=\"{{image_url}}\">\n</div>\n <div id=\"field-panel\">\n Name<br><input class=\"input-field first_name\" type=\"text\" name=\"output[first_name]\"><input class=\"input-field middle_name\" type=\"text\" name=\"output[middle_name]\"><input class=\"input-field last_name\" type=\"text\" name=\"output[last_name]\"><br><br>Contact<br><input class=\"input-field email\" type=\"text\" name=\"output[email]\" placeholder=\"Email\"><input class=\"input-field phone\" type=\"text\" name=\"output[phone]\" placeholder=\"Phone\"><input class=\"input-field mobile\" type=\"text\" name=\"output[mobile]\" placeholder=\"Mobile\"><br>\n</div>\n </div>\n </form>\n</div>\n</body>\n</html>\n")
|
48
48
|
end
|
49
|
-
|
49
|
+
|
50
50
|
it "in plain ruby way" do
|
51
51
|
WebMock.allow_net_connect!
|
52
52
|
html = '<!DOCTYPE html>
|
@@ -100,10 +100,10 @@ describe CF::CustomTaskForm do
|
|
100
100
|
line.title.should eql(title)
|
101
101
|
line.department_name.should eql("Digitization")
|
102
102
|
line.stations.first.type.should eql("WorkStation")
|
103
|
-
CGI.unescape_html(line.stations.first.form.raw_html).should eql("<!DOCTYPE html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n<meta http-equiv='\\\"Content-Type\\\"' content='\\\"text/html;' charset='UTF-8\\\"'>\n</head>\n<body>\n<div id=\"form-content\">\n <form>\n<div id=\"instructions\">\n <ul>\n<li>Look at the business card properly and fill in asked data.</li>\n <li>Make sure you enter everything found on business card.</li>\n <li>Work may be rejected if it is incomplete or mistakes are found.</li>\n </ul>\n</div>\n <div id=\"image-field-wrapper\">\n <div id=\"image-panel\">\n <img class=\"card-image\" src=\"
|
103
|
+
CGI.unescape_html(line.stations.first.form.raw_html).should eql("<!DOCTYPE html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n<meta http-equiv='\\\"Content-Type\\\"' content='\\\"text/html;' charset='UTF-8\\\"'>\n</head>\n<body>\n<div id=\"form-content\">\n <form>\n<div id=\"instructions\">\n <ul>\n<li>Look at the business card properly and fill in asked data.</li>\n <li>Make sure you enter everything found on business card.</li>\n <li>Work may be rejected if it is incomplete or mistakes are found.</li>\n </ul>\n</div>\n <div id=\"image-field-wrapper\">\n <div id=\"image-panel\">\n <img class=\"card-image\" src=\"{{image_url}}\">\n</div>\n <div id=\"field-panel\">\n Name<br><input class=\"input-field first_name\" type=\"text\" name=\"output[first_name]\"><input class=\"input-field middle_name\" type=\"text\" name=\"output[middle_name]\"><input class=\"input-field last_name\" type=\"text\" name=\"output[last_name]\"><br><br>Contact<br><input class=\"input-field email\" type=\"text\" name=\"output[email]\" placeholder=\"Email\"><input class=\"input-field phone\" type=\"text\" name=\"output[phone]\" placeholder=\"Phone\"><input class=\"input-field mobile\" type=\"text\" name=\"output[mobile]\" placeholder=\"Mobile\"><br>\n</div>\n </div>\n </form>\n</div>\n</body>\n</html>\n")
|
104
104
|
end
|
105
105
|
end
|
106
|
-
|
106
|
+
|
107
107
|
context "create a Custom Task Form for Error Handling;" do
|
108
108
|
it "creating with invalid Html content" do
|
109
109
|
WebMock.allow_net_connect!
|
data/spec/line_spec.rb
CHANGED
@@ -4,15 +4,34 @@ describe CF::Line do
|
|
4
4
|
let(:input_format) { CF::InputFormat.new({:name => "image_url", :required => true, :valid_type => "url"}) }
|
5
5
|
|
6
6
|
context "create a line" do
|
7
|
-
it "the plain ruby way" do
|
7
|
+
it "the plain ruby way if worker pool is not specified" do
|
8
8
|
WebMock.allow_net_connect!
|
9
9
|
title = "line_title#{Time.new.strftime('%Y%b%d-%H%M%S')}".downcase
|
10
10
|
sleep 1
|
11
11
|
line = CF::Line.new(title, "Digitization", {:public => false, :description => "this is description"})
|
12
12
|
line.title.should eq(title)
|
13
|
+
line.worker_pool.should eql("cloudfactory")
|
14
|
+
line.department_name.should eq("Digitization")
|
15
|
+
end
|
16
|
+
|
17
|
+
it "the plain ruby way if worker pool is specified" do
|
18
|
+
WebMock.allow_net_connect!
|
19
|
+
title = "line_title#{Time.new.strftime('%Y%b%d-%H%M%S')}".downcase
|
20
|
+
sleep 1
|
21
|
+
line = CF::Line.new(title, "Digitization", {:public => false,:worker_pool => "mturk", :description => "this is description"})
|
22
|
+
line.title.should eq(title)
|
23
|
+
line.worker_pool.should eql("mturk")
|
13
24
|
line.department_name.should eq("Digitization")
|
14
25
|
end
|
15
26
|
|
27
|
+
it "the plain ruby way if worker pool specified is not valid" do
|
28
|
+
WebMock.allow_net_connect!
|
29
|
+
title = "line_title#{Time.new.strftime('%Y%b%d-%H%M%S')}".downcase
|
30
|
+
sleep 1
|
31
|
+
line = CF::Line.new(title, "Digitization", {:public => false,:worker_pool => "chandra", :description => "this is description"})
|
32
|
+
line.errors.should eql(" chandra is invalid worker_pool")
|
33
|
+
end
|
34
|
+
|
16
35
|
it "using block with variable" do
|
17
36
|
WebMock.allow_net_connect!
|
18
37
|
title = "line_title#{Time.new.strftime('%Y%b%d-%H%M%S')}".downcase
|
@@ -61,8 +80,29 @@ describe CF::Line do
|
|
61
80
|
line.title.should eq(title)
|
62
81
|
line.department_name.should eq("Digitization")
|
63
82
|
line.public.should eql(true)
|
83
|
+
line.worker_pool.should eql("cloudfactory")
|
64
84
|
line.description.should eq("this is description")
|
65
85
|
end
|
86
|
+
|
87
|
+
it "with worker_pool specified" do
|
88
|
+
WebMock.allow_net_connect!
|
89
|
+
title = "line_title#{Time.new.strftime('%Y%b%d-%H%M%S')}".downcase
|
90
|
+
sleep 1
|
91
|
+
line = CF::Line.new(title, "Digitization", {:public => true,:worker_pool => "mturk", :description => "this is description"})
|
92
|
+
line.title.should eq(title)
|
93
|
+
line.department_name.should eq("Digitization")
|
94
|
+
line.public.should eql(true)
|
95
|
+
line.worker_pool.should eql("mturk")
|
96
|
+
line.description.should eq("this is description")
|
97
|
+
end
|
98
|
+
|
99
|
+
it "with worker_pool specified is invalid" do
|
100
|
+
WebMock.allow_net_connect!
|
101
|
+
title = "line_title#{Time.new.strftime('%Y%b%d-%H%M%S')}".downcase
|
102
|
+
sleep 1
|
103
|
+
line = CF::Line.new(title, "Digitization", {:public => true, :description => "this is description",:worker_pool => "chandra"})
|
104
|
+
line.errors.should eql(" chandra is invalid worker_pool")
|
105
|
+
end
|
66
106
|
end
|
67
107
|
|
68
108
|
context "with 1 station" do
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: cloudfactory
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.
|
5
|
+
version: "0.5"
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- CloudFactory.com
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2012-02-
|
13
|
+
date: 2012-02-16 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: i18n
|