cloudfactory 0.6.1 → 0.6.2

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## 0.6.2(2012-6-29)
2
+ * CustomTaskForm update feature added
3
+
1
4
  ## 0.5.6 (2012-05-17)
2
5
  * Priority field added in the line
3
6
 
data/lib/cf/cli/form.rb CHANGED
@@ -36,7 +36,7 @@ end
36
36
 
37
37
  module Cf
38
38
  class Form < Thor # :nodoc: all
39
- include Cf::Config
39
+ include Cf::Config
40
40
 
41
41
  desc "form generate", "generates a custom task form at <line-title>/<form-title>.html and its associated css and js files"
42
42
  method_option :station, :type => :numeric, :required => true, :desc => "the station index this form should be associated with"
@@ -76,5 +76,45 @@ module Cf
76
76
  say "Generate the form for station 2 and then preview it.", :red
77
77
  end
78
78
  end
79
+
80
+ desc "form update", "Update the form from "
81
+ method_option :station, :type => :numeric, :required => true, :aliases => "-s", :desc => "station index of the form to update"
82
+ def update(form = nil)
83
+ station_index = options[:station]
84
+ line_destination = Dir.pwd
85
+ yaml_source = "#{line_destination}/line.yml"
86
+ unless File.exist?(yaml_source)
87
+ say("The current directory is not a valid line directory.", :red) and return
88
+ end
89
+
90
+
91
+ set_target_uri(false)
92
+ set_api_key(yaml_source)
93
+ CF.account_name = CF::Account.info['name']
94
+ line_dump = YAML::load(File.read(yaml_source).strip)
95
+ line_title = line_dump['title'].parameterize
96
+
97
+ station_hash = line_dump["stations"][station_index-1]["station"]
98
+
99
+ say "Updating form for the station#{station_index}", :green
100
+
101
+ if File.exist?("#{line_destination}/station#{station_index}.html")
102
+ form_content = station_hash["custom_task_form"]
103
+ form_content["html"] = File.read("station#{station_index}.html")
104
+ resp = CF::CustomTaskForm.update(line_title, station_index, form_content)
105
+ elsif station_hash.has_key?("task_form")
106
+ say "No support for task form.", :red
107
+ else
108
+ say "No form exists for station #{station_index}", :red
109
+ end
110
+
111
+ exit(1) unless resp
112
+
113
+ if resp.code == 200
114
+ say "Form updated sucessfully!", :green
115
+ else
116
+ say "Form can not be updated because #{resp["error"]["message"]}", :red
117
+ end
118
+ end
79
119
  end
80
120
  end
@@ -48,7 +48,24 @@ module CF
48
48
  def self.create(form)
49
49
  instruction = CustomTaskForm.new(form)
50
50
  end
51
-
51
+
52
+ # update the station form
53
+ # form_content = {:form_title => "Enter text from a business card image", :instruction => "Describe", :html => html}
54
+ #CF::CustomTaskForm.update(@line.title, station_index, form_content)
55
+ def self.update(line_title, station_index, form_content)
56
+ form_content.stringify_keys!
57
+ request =
58
+ {
59
+ :body =>
60
+ {
61
+ :api_key => CF.api_key,
62
+ :form => {:title => form_content["form_title"], :instruction => form_content["instruction"], :_type => "CustomTaskForm", :raw_html => form_content["html"]},
63
+ :station_index => station_index
64
+ }
65
+ }
66
+ resp = HTTParty.put("#{CF.api_url}#{CF.api_version}/lines/#{CF.account_name}/#{line_title.downcase}/stations/#{station_index}/form.json", request)
67
+ end
68
+
52
69
  def to_s # :nodoc:
53
70
  "{:title => #{self.title}, :instruction => #{self.instruction}, :raw_html => #{self.raw_html}, :errors => #{self.errors}}"
54
71
  end
data/lib/cf/station.rb CHANGED
@@ -1,3 +1,4 @@
1
+ require 'pry'
1
2
  module CF
2
3
  class Station
3
4
  require 'httparty'
@@ -301,6 +302,7 @@ module CF
301
302
  return resp
302
303
  end
303
304
 
305
+
304
306
  # ==Returns all the stations associated with a particular line
305
307
  # ===Usage Example:
306
308
  # CF::Station.all(line)
data/lib/cf/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module CF # :nodoc: all
2
- VERSION = "0.6.1"
2
+ VERSION = "0.6.2"
3
3
  end
@@ -79,19 +79,19 @@ describe CF::CustomTaskForm do
79
79
  </div>
80
80
  </div>
81
81
  </div></form></body></html>'
82
-
82
+
83
83
  title = "line_title#{Time.new.strftime('%Y%b%d-%H%M%S')}".downcase
84
84
  sleep 1
85
85
  line = CF::Line.new(title, "Digitization")
86
-
86
+
87
87
  input_format_1 = CF::InputFormat.new({:name => "Name", :required => true, :valid_format => "general"})
88
88
  input_format_2 = CF::InputFormat.new({:name => "Contact", :required => true, :valid_type => "url"})
89
89
  line.input_formats input_format_1
90
90
  line.input_formats input_format_2
91
-
91
+
92
92
  station = CF::Station.new({:type => "work"})
93
93
  line.stations station
94
-
94
+
95
95
  worker = CF::HumanWorker.new({:number => 1, :reward => 20})
96
96
  line.stations.first.worker = worker
97
97
 
@@ -104,6 +104,93 @@ describe CF::CustomTaskForm do
104
104
  end
105
105
  end
106
106
 
107
+ context "update a custom task form" do
108
+ before do
109
+ WebMock.allow_net_connect!
110
+ html = '<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\" \"http://www.w3.org/TR/REC-html40/loose.dtd\">\n<html>\n<head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"></head><div id="form-content">
111
+ <body><form><div id="instructions">
112
+ <ul>
113
+ <li>Look at the business card properly and fill in asked data.</li>
114
+ <li>Make sure you enter everything found on business card.</li>
115
+ <li>Work may be rejected if it is incomplete or mistakes are found.</li>
116
+ </ul>
117
+ </div>
118
+ <div id="image-field-wrapper">
119
+ <div id = "image-panel" >
120
+ <img class="card-image" src="{{image_url}}">
121
+ </div>
122
+ <div id = "field-panel">
123
+ Name<br />
124
+ <input class="input-field first_name" type="text" name="output[first_name]" />
125
+ <input class="input-field middle_name" type="text" name="output[middle_name]" />
126
+ <input class="input-field last_name" type="text" name="output[last_name]" /><br />
127
+
128
+ <br />Contact<br />
129
+ <input class="input-field email" type="text" name="output[email]" placeholder="Email"/>
130
+ <input class="input-field phone" type="text" name="output[phone]" placeholder="Phone"/>
131
+ <input class="input-field mobile" type="text" name="output[mobile]" placeholder="Mobile"/><br />
132
+
133
+ </div>
134
+ </div>
135
+ </div></form></body></html>'
136
+
137
+ title = "line_title#{Time.new.strftime('%Y%b%d-%H%M%S')}".downcase
138
+ sleep 1
139
+ @line = CF::Line.create(title, "Digitization") do
140
+ CF::InputFormat.new({:line => self, :name => "Name", :required => true, :valid_format => "general"})
141
+ CF::InputFormat.new({:line => self, :name => "Contact", :required => true, :valid_type => "url"})
142
+ CF::Station.create({:line => self, :type => "work"}) do |s|
143
+ CF::HumanWorker.new({:station => s, :number => 1, :reward => 20})
144
+ CF::CustomTaskForm.create({:station => s, :title => "Enter text from a business card image", :instruction => "Describe", :raw_html => html})
145
+ end
146
+ end
147
+
148
+
149
+ @updated_html = '<!DOCTYPE html>
150
+ <html>
151
+ <head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"></head>
152
+ <body>
153
+ <div id="form-content">
154
+ <form><div id="instructions">
155
+ <ul>
156
+ <li>Look at the business card properly and fill in asked data.</li>
157
+ <li>Make sure you enter everything found on business card.</li>
158
+ <li>Work may be rejected if it is incomplete or mistakes are found.</li>
159
+ </ul>
160
+ </div>
161
+ <div id="image-field-wrapper">
162
+ <div id = "image-panel" >
163
+ <img class="card-image" src="{{image_url}}">
164
+ </div>
165
+ <div id = "field-panel">
166
+ FullName<br />
167
+ <input class="input-field first_name" type="text" name="output[first_name]" />
168
+ <input class="input-field middle_name" type="text" name="output[middle_name]" />
169
+ <input class="input-field last_name" type="text" name="output[last_name]" /><br />
170
+
171
+ <br />Contact<br />
172
+ <input class="input-field email" type="text" name="output[email]" placeholder="Email"/>
173
+ <input class="input-field phone" type="text" name="output[phone]" placeholder="Phone"/>
174
+ <input class="input-field mobile" type="text" name="output[mobile]" placeholder="Mobile"/><br />
175
+
176
+ </div>
177
+ </div>
178
+ </div></form></body></html>'
179
+
180
+ end
181
+
182
+ it "should returtn sucsess for updating form without errors" do
183
+ form_content = {:form_title => "updated form", :instruction => "Updated one", :html => @updated_html}
184
+ form = CF::CustomTaskForm.update(@line.title, 1, form_content)
185
+ binding.pry
186
+ form.code.should eql(200)
187
+ form["title"].should eql("updated form")
188
+ CGI.unescape_html(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 FullName<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")
189
+ end
190
+
191
+ end
192
+
193
+
107
194
  context "create a Custom Task Form for Error Handling;" do
108
195
  it "creating with invalid Html content" do
109
196
  WebMock.allow_net_connect!
@@ -147,7 +234,7 @@ describe CF::CustomTaskForm do
147
234
  line.department_name.should eql("Digitization")
148
235
  line.stations.first.form.errors.should eql(["Raw html should contain a Form tag", "Raw html The name 'final_output[first_name]' is not valid, it should be of format output[name]", "Raw html The name 'final_output[middle_name]' is not valid, it should be of format output[name]", "Raw html The name 'final_output[last_name]' is not valid, it should be of format output[name]", "Raw html The name 'final_output[email]' is not valid, it should be of format output[name]", "Raw html The name 'final_output[phone]' is not valid, it should be of format output[name]", "Raw html The name 'final_output[mobile]' is not valid, it should be of format output[name]"])
149
236
  end
150
-
237
+
151
238
  it "creating without title" do
152
239
  WebMock.allow_net_connect!
153
240
  html = '<div id="form-content">
@@ -176,7 +263,7 @@ describe CF::CustomTaskForm do
176
263
  </div>
177
264
  </div>
178
265
  </div>'
179
-
266
+
180
267
  title = "line_title#{Time.new.strftime('%Y%b%d-%H%M%S')}".downcase
181
268
  sleep 1
182
269
  line = CF::Line.create(title, "Digitization") do
@@ -191,7 +278,7 @@ describe CF::CustomTaskForm do
191
278
  line.department_name.should eql("Digitization")
192
279
  line.stations.first.form.errors.should eql(["Title can't be blank", "Raw html should contain a Form tag"])
193
280
  end
194
-
281
+
195
282
  it "creating without instruction" do
196
283
  WebMock.allow_net_connect!
197
284
  html = '<div id="form-content">
@@ -220,7 +307,7 @@ describe CF::CustomTaskForm do
220
307
  </div>
221
308
  </div>
222
309
  </div>'
223
-
310
+
224
311
  title = "line_title#{Time.new.strftime('%Y%b%d-%H%M%S')}".downcase
225
312
  sleep 1
226
313
  line = CF::Line.create(title, "Digitization") do
@@ -235,7 +322,7 @@ describe CF::CustomTaskForm do
235
322
  line.department_name.should eql("Digitization")
236
323
  line.stations.first.form.errors.should eql(["Instruction can't be blank", "Raw html should contain a Form tag"])
237
324
  end
238
-
325
+
239
326
  it "creating without any html data" do
240
327
  WebMock.allow_net_connect!
241
328
  title = "line_title#{Time.new.strftime('%Y%b%d-%H%M%S')}".downcase
@@ -252,7 +339,7 @@ describe CF::CustomTaskForm do
252
339
  line.department_name.should eql("Digitization")
253
340
  line.stations.first.form.errors.should eql(["Raw html is required"])
254
341
  end
255
-
342
+
256
343
  it "creating without any html data in plain ruby way" do
257
344
  WebMock.allow_net_connect!
258
345
  title = "line_title#{Time.new.strftime('%Y%b%d-%H%M%S')}".downcase
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cloudfactory
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.6.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-06-06 00:00:00.000000000 Z
12
+ date: 2012-06-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: i18n
16
- requirement: &2156928600 !ruby/object:Gem::Requirement
16
+ requirement: &2152584240 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2156928600
24
+ version_requirements: *2152584240
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: activesupport
27
- requirement: &2156928100 !ruby/object:Gem::Requirement
27
+ requirement: &2152593200 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '3.0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *2156928100
35
+ version_requirements: *2152593200
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: hashie
38
- requirement: &2156927600 !ruby/object:Gem::Requirement
38
+ requirement: &2152601100 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '1.0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *2156927600
46
+ version_requirements: *2152601100
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rest-client
49
- requirement: &2164476580 !ruby/object:Gem::Requirement
49
+ requirement: &2152612160 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *2164476580
57
+ version_requirements: *2152612160
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: json
60
- requirement: &2164474240 !ruby/object:Gem::Requirement
60
+ requirement: &2152609340 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *2164474240
68
+ version_requirements: *2152609340
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: thor
71
- requirement: &2154447820 !ruby/object:Gem::Requirement
71
+ requirement: &2152607040 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0.14'
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *2154447820
79
+ version_requirements: *2152607040
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: highline
82
- requirement: &2154447400 !ruby/object:Gem::Requirement
82
+ requirement: &2152617120 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '0'
88
88
  type: :runtime
89
89
  prerelease: false
90
- version_requirements: *2154447400
90
+ version_requirements: *2152617120
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: httparty
93
- requirement: &2154446860 !ruby/object:Gem::Requirement
93
+ requirement: &2152637820 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ~>
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: '0.7'
99
99
  type: :runtime
100
100
  prerelease: false
101
- version_requirements: *2154446860
101
+ version_requirements: *2152637820
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: terminal-table
104
- requirement: &2154446360 !ruby/object:Gem::Requirement
104
+ requirement: &2152635700 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ~>
@@ -109,10 +109,10 @@ dependencies:
109
109
  version: '1.4'
110
110
  type: :runtime
111
111
  prerelease: false
112
- version_requirements: *2154446360
112
+ version_requirements: *2152635700
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: millisami-csv-hash
115
- requirement: &2154445980 !ruby/object:Gem::Requirement
115
+ requirement: &2152632900 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ! '>='
@@ -120,10 +120,10 @@ dependencies:
120
120
  version: '0'
121
121
  type: :runtime
122
122
  prerelease: false
123
- version_requirements: *2154445980
123
+ version_requirements: *2152632900
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: awesome_print
126
- requirement: &2154445520 !ruby/object:Gem::Requirement
126
+ requirement: &2152645560 !ruby/object:Gem::Requirement
127
127
  none: false
128
128
  requirements:
129
129
  - - ! '>='
@@ -131,10 +131,10 @@ dependencies:
131
131
  version: '0'
132
132
  type: :runtime
133
133
  prerelease: false
134
- version_requirements: *2154445520
134
+ version_requirements: *2152645560
135
135
  - !ruby/object:Gem::Dependency
136
136
  name: rubyzip
137
- requirement: &2154445100 !ruby/object:Gem::Requirement
137
+ requirement: &2152642420 !ruby/object:Gem::Requirement
138
138
  none: false
139
139
  requirements:
140
140
  - - ! '>='
@@ -142,10 +142,10 @@ dependencies:
142
142
  version: '0'
143
143
  type: :runtime
144
144
  prerelease: false
145
- version_requirements: *2154445100
145
+ version_requirements: *2152642420
146
146
  - !ruby/object:Gem::Dependency
147
147
  name: pry
148
- requirement: &2154444680 !ruby/object:Gem::Requirement
148
+ requirement: &2152654420 !ruby/object:Gem::Requirement
149
149
  none: false
150
150
  requirements:
151
151
  - - ! '>='
@@ -153,10 +153,10 @@ dependencies:
153
153
  version: '0'
154
154
  type: :development
155
155
  prerelease: false
156
- version_requirements: *2154444680
156
+ version_requirements: *2152654420
157
157
  - !ruby/object:Gem::Dependency
158
158
  name: pry-nav
159
- requirement: &2154444260 !ruby/object:Gem::Requirement
159
+ requirement: &2152653240 !ruby/object:Gem::Requirement
160
160
  none: false
161
161
  requirements:
162
162
  - - ! '>='
@@ -164,10 +164,10 @@ dependencies:
164
164
  version: '0'
165
165
  type: :development
166
166
  prerelease: false
167
- version_requirements: *2154444260
167
+ version_requirements: *2152653240
168
168
  - !ruby/object:Gem::Dependency
169
169
  name: aruba
170
- requirement: &2154443840 !ruby/object:Gem::Requirement
170
+ requirement: &2152651520 !ruby/object:Gem::Requirement
171
171
  none: false
172
172
  requirements:
173
173
  - - ! '>='
@@ -175,10 +175,10 @@ dependencies:
175
175
  version: '0'
176
176
  type: :development
177
177
  prerelease: false
178
- version_requirements: *2154443840
178
+ version_requirements: *2152651520
179
179
  - !ruby/object:Gem::Dependency
180
180
  name: rails
181
- requirement: &2154443340 !ruby/object:Gem::Requirement
181
+ requirement: &2152647900 !ruby/object:Gem::Requirement
182
182
  none: false
183
183
  requirements:
184
184
  - - ~>
@@ -186,10 +186,10 @@ dependencies:
186
186
  version: 3.0.3
187
187
  type: :development
188
188
  prerelease: false
189
- version_requirements: *2154443340
189
+ version_requirements: *2152647900
190
190
  - !ruby/object:Gem::Dependency
191
191
  name: bundler
192
- requirement: &2154442920 !ruby/object:Gem::Requirement
192
+ requirement: &2152662600 !ruby/object:Gem::Requirement
193
193
  none: false
194
194
  requirements:
195
195
  - - ! '>='
@@ -197,10 +197,10 @@ dependencies:
197
197
  version: '0'
198
198
  type: :development
199
199
  prerelease: false
200
- version_requirements: *2154442920
200
+ version_requirements: *2152662600
201
201
  - !ruby/object:Gem::Dependency
202
202
  name: generator_spec
203
- requirement: &2154442380 !ruby/object:Gem::Requirement
203
+ requirement: &2152666960 !ruby/object:Gem::Requirement
204
204
  none: false
205
205
  requirements:
206
206
  - - ~>
@@ -208,10 +208,10 @@ dependencies:
208
208
  version: '0.8'
209
209
  type: :development
210
210
  prerelease: false
211
- version_requirements: *2154442380
211
+ version_requirements: *2152666960
212
212
  - !ruby/object:Gem::Dependency
213
213
  name: rspec
214
- requirement: &2154441960 !ruby/object:Gem::Requirement
214
+ requirement: &2152664700 !ruby/object:Gem::Requirement
215
215
  none: false
216
216
  requirements:
217
217
  - - ! '>='
@@ -219,10 +219,10 @@ dependencies:
219
219
  version: '0'
220
220
  type: :development
221
221
  prerelease: false
222
- version_requirements: *2154441960
222
+ version_requirements: *2152664700
223
223
  - !ruby/object:Gem::Dependency
224
224
  name: cucumber
225
- requirement: &2154441500 !ruby/object:Gem::Requirement
225
+ requirement: &2152678000 !ruby/object:Gem::Requirement
226
226
  none: false
227
227
  requirements:
228
228
  - - ! '>='
@@ -230,10 +230,10 @@ dependencies:
230
230
  version: '0'
231
231
  type: :development
232
232
  prerelease: false
233
- version_requirements: *2154441500
233
+ version_requirements: *2152678000
234
234
  - !ruby/object:Gem::Dependency
235
235
  name: rdoc
236
- requirement: &2154441000 !ruby/object:Gem::Requirement
236
+ requirement: &2152675940 !ruby/object:Gem::Requirement
237
237
  none: false
238
238
  requirements:
239
239
  - - ~>
@@ -241,10 +241,10 @@ dependencies:
241
241
  version: 3.5.3
242
242
  type: :development
243
243
  prerelease: false
244
- version_requirements: *2154441000
244
+ version_requirements: *2152675940
245
245
  - !ruby/object:Gem::Dependency
246
246
  name: vcr
247
- requirement: &2154440580 !ruby/object:Gem::Requirement
247
+ requirement: &2152673580 !ruby/object:Gem::Requirement
248
248
  none: false
249
249
  requirements:
250
250
  - - ! '>='
@@ -252,10 +252,10 @@ dependencies:
252
252
  version: '0'
253
253
  type: :development
254
254
  prerelease: false
255
- version_requirements: *2154440580
255
+ version_requirements: *2152673580
256
256
  - !ruby/object:Gem::Dependency
257
257
  name: rake
258
- requirement: &2154440120 !ruby/object:Gem::Requirement
258
+ requirement: &2152671360 !ruby/object:Gem::Requirement
259
259
  none: false
260
260
  requirements:
261
261
  - - ! '>='
@@ -263,10 +263,10 @@ dependencies:
263
263
  version: '0'
264
264
  type: :development
265
265
  prerelease: false
266
- version_requirements: *2154440120
266
+ version_requirements: *2152671360
267
267
  - !ruby/object:Gem::Dependency
268
268
  name: webmock
269
- requirement: &2164460660 !ruby/object:Gem::Requirement
269
+ requirement: &2152683680 !ruby/object:Gem::Requirement
270
270
  none: false
271
271
  requirements:
272
272
  - - ! '>='
@@ -274,10 +274,10 @@ dependencies:
274
274
  version: '0'
275
275
  type: :development
276
276
  prerelease: false
277
- version_requirements: *2164460660
277
+ version_requirements: *2152683680
278
278
  - !ruby/object:Gem::Dependency
279
279
  name: timecop
280
- requirement: &2164458640 !ruby/object:Gem::Requirement
280
+ requirement: &2152681300 !ruby/object:Gem::Requirement
281
281
  none: false
282
282
  requirements:
283
283
  - - ! '>='
@@ -285,7 +285,7 @@ dependencies:
285
285
  version: '0'
286
286
  type: :development
287
287
  prerelease: false
288
- version_requirements: *2164458640
288
+ version_requirements: *2152681300
289
289
  description: A Ruby wrapper and CLI for to interact with Cloudfactory.com REST API
290
290
  email:
291
291
  - administrator@sprout-technology.com