cloudfactory 0.2.2 → 0.2.3

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 CHANGED
@@ -1,3 +1,9 @@
1
+ ## 0.2.3 (2011-08-30)
2
+
3
+ * Add a new command in CLI, cf production delete --run-title=your-run-title to delete the production run
4
+ * The same is added in Gem
5
+ * If no valid_type is sent in input_formats, it will be created. Before, it was the mandatory.
6
+
1
7
  ## 0.2.2 (2011-08-29)
2
8
 
3
9
  * Add a new command in CLI, cf whoami to show the current logged in credentials
data/lib/cf/cli/line.rb CHANGED
@@ -174,15 +174,22 @@ module Cf # :nodoc: all
174
174
  # Creation of InputFormat from yaml file
175
175
  input_formats = line_dump['input_formats']
176
176
  input_formats.each_with_index do |input_format, index|
177
-
178
- attrs = {
179
- :name => input_format['name'],
180
- :required => input_format['required'],
181
- :valid_type => input_format['valid_type']
182
- }
183
- input_format_for_line = CF::InputFormat.new(attrs)
177
+ if input_format['valid_type']
178
+ @attrs = {
179
+ :name => input_format['name'],
180
+ :required => input_format['required'],
181
+ :valid_type => input_format['valid_type']
182
+ }
183
+ elsif input_format['valid_type'].nil?
184
+ @attrs = {
185
+ :name => input_format['name'],
186
+ :required => input_format['required'],
187
+ :valid_type => input_format['valid_type']
188
+ }
189
+ end
190
+ input_format_for_line = CF::InputFormat.new(@attrs)
184
191
  input_format = line.input_formats input_format_for_line
185
- say_status "input", "#{attrs[:name]}"
192
+ say_status "input", "#{@attrs[:name]}"
186
193
  display_error(line_title, "#{line.input_formats[index].errors}") if line.input_formats[index].errors.present?
187
194
  end
188
195
 
@@ -3,13 +3,13 @@ require 'thor/group'
3
3
  module Cf # :nodoc: all
4
4
  class Production < Thor # :nodoc: all
5
5
  include Cf::Config
6
-
6
+
7
7
  no_tasks do
8
8
  def extract_name(file_path)
9
9
  Pathname.new(file_path).basename.to_s
10
10
  end
11
11
  end
12
-
12
+
13
13
  desc "production start <run-title>", "creates a production run with input data file at input/<run-title>.csv"
14
14
  method_option :input_data, :type => :string, :aliases => "-i", :desc => "the name of the input data file"
15
15
  method_option :live, :type => :boolean, :default => false, :desc => "specifies sandbox or live mode"
@@ -21,7 +21,7 @@ module Cf # :nodoc: all
21
21
  set_target_uri(options[:live])
22
22
  set_api_key
23
23
  CF.account_name = CF::Account.info.name
24
-
24
+
25
25
  if options[:line].present?
26
26
  line = CF::Line.find(options[:line])
27
27
  line = Hashie::Mash.new(line)
@@ -51,7 +51,7 @@ module Cf # :nodoc: all
51
51
  end
52
52
 
53
53
  input_data = options[:input_data].presence
54
-
54
+
55
55
  if input_data =~ /^\// #checking absolute input data path
56
56
  input_data_file = input_data
57
57
  else
@@ -87,11 +87,11 @@ module Cf # :nodoc: all
87
87
  input_data_file = "#{Dir.pwd}/#{input_data}"
88
88
  end
89
89
  end
90
-
90
+
91
91
  unless File.exist?(input_data_file)
92
92
  say("The input data file named #{input_data} is missing", :red) and return
93
93
  end
94
-
94
+
95
95
  say "Creating a production run with title #{run_title}", :green
96
96
  run = CF::Run.create(line_title, run_title, input_data_file)
97
97
  if run.errors.blank?
@@ -107,7 +107,7 @@ module Cf # :nodoc: all
107
107
  say("View your production at:\n\thttp://#{CF.account_name}.#{CF.api_url.split("/")[-2]}/runs/#{CF.account_name}/#{run.title}/workerpool_preview\n", :green)
108
108
  end
109
109
  end
110
-
110
+
111
111
  desc "production list", "list the production runs"
112
112
  method_option :line, :type => :string, :aliases => "-l", :desc => "the title of the line, if the line title is not given, it will show all the production runs under your account"
113
113
  method_option :page, :type => :numeric, :aliases => "-p", :desc => "page number"
@@ -127,7 +127,7 @@ module Cf # :nodoc: all
127
127
  param.merge!({:page => "all"})
128
128
  current_page = 1
129
129
  end
130
-
130
+
131
131
  if page = options['page'].presence
132
132
  param.merge!({:page => page})
133
133
  current_page = page
@@ -146,15 +146,15 @@ module Cf # :nodoc: all
146
146
  end
147
147
 
148
148
  resp_runs = CF::Run.all(param)
149
-
149
+
150
150
  if resp_runs.has_key?('error')
151
151
  say("#{resp_runs['error']}", :red) and exit(1)
152
152
  end
153
-
153
+
154
154
  if resp_runs.has_key?("runs") && resp_runs['runs'].blank?
155
155
  say("\nRun list is empty.\n", :yellow) and return
156
156
  end
157
-
157
+
158
158
  if resp_runs['total_pages']
159
159
  say("\nShowing page #{current_page} of #{resp_runs['total_pages']} (Total runs: #{resp_runs['total_runs']})")
160
160
  end
@@ -174,7 +174,7 @@ module Cf # :nodoc: all
174
174
  say("No production run for line #{line_title}", :yellow)
175
175
  end
176
176
  end
177
-
177
+
178
178
  desc "production resume", "resume a paused production run"
179
179
  method_option :run_title, :type => :string, :required => true, :aliases => "-r", :desc => "the title of the run to resume"
180
180
  def resume
@@ -191,18 +191,17 @@ module Cf # :nodoc: all
191
191
  say("Run with title \"#{result.title}\" is resumed!", :green)
192
192
  # end
193
193
  end
194
-
194
+
195
195
  desc "production add_units", "add units to already existing production run"
196
196
  method_option :run_title, :type => :string, :required => true, :aliases => "-t", :desc => "the title of the run to resume"
197
197
  method_option :input_data, :type => :string, :required => true, :aliases => "-i", :desc => "the path of the input data file"
198
-
199
198
  def add_units
200
199
  set_target_uri(false)
201
200
  set_api_key
202
201
  CF.account_name = CF::Account.info.name
203
202
  run_title = options[:run_title].parameterize
204
203
  input_data = options[:input_data].presence
205
-
204
+
206
205
  if input_data =~ /^\// #checking absolute input data path
207
206
  input_data_file = input_data
208
207
  else
@@ -215,10 +214,22 @@ module Cf # :nodoc: all
215
214
  if units['error'].present?
216
215
  say("Error: #{units['error']['message']}", :red) and exit(1)
217
216
  end
218
-
219
- # if result.status == "resumed"
220
217
  say("\"#{units['successfull']}\"!", :green)
221
- # end
218
+ end
219
+
220
+ desc "production delete", "Deletes created Production Run"
221
+ method_option :run_title, :type => :string, :required => true, :aliases => "-t", :desc => "the title of the run to resume"
222
+ def delete
223
+ set_target_uri(false)
224
+ set_api_key
225
+ CF.account_name = CF::Account.info.name
226
+ run_title = options[:run_title].parameterize
227
+
228
+ deleted_run = CF::Run.destroy(run_title)
229
+ if deleted_run.error.present?
230
+ say("Error: #{deleted_run.error.message}", :red) and exit(1)
231
+ end
232
+ say("Run Deleted Successfully entitled: \"#{deleted_run.title}\"!", :green)
222
233
  end
223
234
  end
224
235
  end
data/lib/cf/form_field.rb CHANGED
@@ -7,7 +7,7 @@ module CF
7
7
  attr_accessor :label
8
8
 
9
9
  # field_type for "form" object, e.g. :field_type => "SA"
10
- attr_accessor :field_type
10
+ attr_accessor :field_type, :valid_type
11
11
 
12
12
  # required boolean either true or false, e.g. :required => "true" & if false then you don't need to mention
13
13
  attr_accessor :required
@@ -37,6 +37,7 @@ module CF
37
37
  @form = options[:form]
38
38
  @label = options[:label]
39
39
  @field_type = options[:field_type]
40
+ @valid_type = options[:valid_type]
40
41
  @required = options[:required]
41
42
 
42
43
  if !@form.nil?
@@ -38,15 +38,19 @@ module CF
38
38
  @line = options[:line]
39
39
  @name = options[:name]
40
40
  @required = options[:required]
41
- @valid_type = options[:valid_type]
41
+ @valid_type = options[:valid_type].nil? ? nil : options[:valid_type]
42
42
  if !@station.nil? or !@line.nil?
43
43
  line_title = @station.nil? ? @line.title : @station.line_title
44
- resp = self.class.post("/lines/#{CF.account_name}/#{@line.title.downcase}/input_formats.json", :input_format => {:name => @name, :required => @required, :valid_type => @valid_type})
45
- resp.to_hash.each_pair do |k,v|
44
+ if @valid_type
45
+ @resp = self.class.post("/lines/#{CF.account_name}/#{@line.title.downcase}/input_formats.json", :input_format => {:name => @name, :required => @required, :valid_type => @valid_type})
46
+ else
47
+ @resp = self.class.post("/lines/#{CF.account_name}/#{@line.title.downcase}/input_formats.json", :input_format => {:name => @name, :required => @required})
48
+ end
49
+ @resp.to_hash.each_pair do |k,v|
46
50
  self.send("#{k}=",v) if self.respond_to?(k)
47
51
  end
48
- if resp.code != 200
49
- self.errors = resp.error.message
52
+ if @resp.code != 200
53
+ self.errors = @resp.error.message
50
54
  end
51
55
  @line_title = line_title
52
56
  if !@station.nil? && @station.except.nil? && @station.extra.nil?
data/lib/cf/line.rb CHANGED
@@ -169,14 +169,18 @@ module CF
169
169
  if input_formats_value
170
170
  name = input_formats_value.name
171
171
  required = input_formats_value.required
172
- valid_type = input_formats_value.valid_type
173
- resp = CF::InputFormat.post("/lines/#{CF.account_name}/#{self.title.downcase}/input_formats.json", :input_format => {:name => name, :required => required, :valid_type => valid_type})
172
+ valid_type = input_formats_value.valid_type.nil? ? nil : input_formats_value.valid_type
173
+ if valid_type
174
+ @resp = CF::InputFormat.post("/lines/#{CF.account_name}/#{self.title.downcase}/input_formats.json", :input_format => {:name => name, :required => required, :valid_type => valid_type})
175
+ elsif valid_type.nil?
176
+ @resp = CF::InputFormat.post("/lines/#{CF.account_name}/#{self.title.downcase}/input_formats.json", :input_format => {:name => name, :required => required})
177
+ end
174
178
  input_format = CF::InputFormat.new()
175
- resp.each_pair do |k,v|
179
+ @resp.each_pair do |k,v|
176
180
  input_format.send("#{k}=",v) if input_format.respond_to?(k)
177
181
  end
178
- if resp.code != 200
179
- input_format.errors = resp.error.message
182
+ if @resp.code != 200
183
+ input_format.errors = @resp.error.message
180
184
  end
181
185
  @input_formats << input_format
182
186
  else
data/lib/cf/run.rb CHANGED
@@ -265,5 +265,14 @@ module CF
265
265
  @errors = resp.error.message if resp.code != 200
266
266
  return resp
267
267
  end
268
+
269
+ # ==Deletes the production run
270
+ # ===Usage Example:
271
+ # delete_run = CF::Run.destroy("run_title")
272
+ def self.destroy(run_title)
273
+ resp = delete("/runs/#{CF.account_name}/#{run_title}.json")
274
+ @errors = resp.error.message if resp.code != 200
275
+ return resp
276
+ end
268
277
  end
269
278
  end
data/lib/cf/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module CF # :nodoc: all
2
- VERSION = "0.2.2"
2
+ VERSION = "0.2.3"
3
3
  end
@@ -85,6 +85,37 @@ describe CF::FormField do
85
85
  end
86
86
  end
87
87
 
88
+ it "in block DSL way without valid_type and some with valid_type" do
89
+ # WebMock.allow_net_connect!
90
+ VCR.use_cassette "form-fields/block/create-valid_type", :record => :new_episodes do
91
+ line = CF::Line.create("form_fields_valid_type", "Digitization") do
92
+ CF::InputFormat.new({:line => self, :name => "image_url", :required => true, :valid_type => "url"})
93
+ CF::Station.create({:line => self, :type => "work"}) do |station|
94
+ CF::HumanWorker.new({:station => station, :number => 1, :reward => 20})
95
+ CF::TaskForm.create({:station => station, :title => "Enter text from a business card image", :instruction => "Describe"}) do |i|
96
+ CF::FormField.new({:form => i, :label => "First Name", :field_type => "short_answer", :required => "true"})
97
+ CF::FormField.new({:form => i, :label => "email", :field_type => "short_answer", :valid_type => "email", :required => "true"})
98
+ end
99
+ end
100
+ end
101
+ line.title.should eq("form_fields_valid_type")
102
+ line.department_name.should eq("Digitization")
103
+ line.input_formats.first.name.should eql("image_url")
104
+ line.stations.first.type.should eq("WorkStation")
105
+ line.stations.first.worker.number.should eq(1)
106
+ line.stations.first.form.instruction.should eq("Describe")
107
+ line.stations.first.form.form_fields[0].label.should eq("First Name")
108
+ line.stations.first.form.form_fields[0].field_type.should eq("short_answer")
109
+ line.stations.first.form.form_fields[0].required.should eq(true)
110
+ line.stations.first.form.form_fields[0].form_field_params.should eql({:label => "First Name", :field_type => "short_answer", :required => "true"})
111
+ line.stations.first.form.form_fields[1].label.should eq("email")
112
+ line.stations.first.form.form_fields[1].field_type.should eq("short_answer")
113
+ line.stations.first.form.form_fields[1].required.should eq(true)
114
+ line.stations.first.form.form_fields[1].valid_type.should eq("email")
115
+ line.stations.first.form.form_fields[1].form_field_params.should eql({:label => "email", :field_type => "short_answer", :valid_type => "email", :required => "true"})
116
+ end
117
+ end
118
+
88
119
  it "in block DSL way with invalid form_field data" do
89
120
  # WebMock.allow_net_connect!
90
121
  VCR.use_cassette "form-fields/block/create-without-label", :record => :new_episodes do
@@ -50,6 +50,18 @@ describe CF::InputFormat do
50
50
  line.input_formats[1].name.should eq("image")
51
51
  end
52
52
  end
53
+
54
+ it "in block DSL way within line without valid_type" do
55
+ # WebMock.allow_net_connect!
56
+ VCR.use_cassette "input_formats/block/create-input-headers-of-line-1", :record => :new_episodes do
57
+ line = CF::Line.create("input_format_without_valid_type","Digitization") do |l|
58
+ CF::InputFormat.new({:line => l, :name => "image_url", :required => true, :valid_type => "url"})
59
+ CF::InputFormat.new({:line => l, :name => "image", :required => true})
60
+ end
61
+ line.input_formats[0].name.should eq("image_url")
62
+ line.input_formats[1].name.should eq("image")
63
+ end
64
+ end
53
65
 
54
66
  it "in block DSL way within station" do
55
67
  # WebMock.allow_net_connect!
data/spec/run_spec.rb CHANGED
@@ -549,5 +549,38 @@ module CF
549
549
  end
550
550
  end
551
551
  end
552
+
553
+ context "Delete Run" do
554
+ it "should call destroy method of run to delete a created run" do
555
+ VCR.use_cassette "run/block/delete_run", :record => :new_episodes do
556
+ # WebMock.allow_net_connect!
557
+ line = CF::Line.create("delete_run","Digitization") do |l|
558
+ CF::InputFormat.new({:line => l, :name => "Company", :required => true, :valid_type => "general"})
559
+ CF::InputFormat.new({:line => l, :name => "Website", :required => true, :valid_type => "url"})
560
+ CF::Station.create({:line => l, :type => "work"}) do |s|
561
+ CF::HumanWorker.new({:station => s, :number => 1, :reward => 20})
562
+ CF::TaskForm.create({:station => s, :title => "Enter text from a business card image", :instruction => "Describe"}) do |i|
563
+ CF::FormField.new({:form => i, :label => "First Name", :field_type => "short_answer", :required => "true"})
564
+ CF::FormField.new({:form => i, :label => "Middle Name", :field_type => "short_answer"})
565
+ CF::FormField.new({:form => i, :label => "Last Name", :field_type => "short_answer", :required => "true"})
566
+ end
567
+ end
568
+ end
569
+ run = CF::Run.create(line, "delete_run_run", [{"Company"=>"Apple,Inc","Website"=>"Apple.com"}])
570
+ deleted_resp = CF::Run.destroy("delete_run_run")
571
+ deleted_resp.code.should eql(200)
572
+ deleted_resp.line['title'].should eql("delete_run")
573
+ deleted_resp.title.should eql("delete_run_run")
574
+ end
575
+ end
576
+
577
+ it "should throw error message while deleting uncreated Run" do
578
+ VCR.use_cassette "run/block/delete_run_error", :record => :new_episodes do
579
+ delete = CF::Run.destroy("norun")
580
+ delete.code.should_not eql(200)
581
+ delete.error.message.should eql("Run document not found using selector: {:tenant_id=>BSON::ObjectId('4def16fa5511274d98000014'), :title=>\"norun\"}")
582
+ end
583
+ end
584
+ end
552
585
  end
553
586
  end
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.2.2
4
+ version: 0.2.3
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: 2011-08-29 00:00:00.000000000Z
12
+ date: 2011-08-30 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: i18n
16
- requirement: &2161055440 !ruby/object:Gem::Requirement
16
+ requirement: &2155292240 !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: *2161055440
24
+ version_requirements: *2155292240
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: activesupport
27
- requirement: &2161054940 !ruby/object:Gem::Requirement
27
+ requirement: &2155291620 !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: *2161054940
35
+ version_requirements: *2155291620
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: hashie
38
- requirement: &2161083880 !ruby/object:Gem::Requirement
38
+ requirement: &2155290940 !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: *2161083880
46
+ version_requirements: *2155290940
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rest-client
49
- requirement: &2161083500 !ruby/object:Gem::Requirement
49
+ requirement: &2155272760 !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: *2161083500
57
+ version_requirements: *2155272760
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: json
60
- requirement: &2161083040 !ruby/object:Gem::Requirement
60
+ requirement: &2155272180 !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: *2161083040
68
+ version_requirements: *2155272180
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: thor
71
- requirement: &2161082540 !ruby/object:Gem::Requirement
71
+ requirement: &2155271560 !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: *2161082540
79
+ version_requirements: *2155271560
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: highline
82
- requirement: &2161082120 !ruby/object:Gem::Requirement
82
+ requirement: &2155271020 !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: *2161082120
90
+ version_requirements: *2155271020
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: httparty
93
- requirement: &2161081580 !ruby/object:Gem::Requirement
93
+ requirement: &2155270360 !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: *2161081580
101
+ version_requirements: *2155270360
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: terminal-table
104
- requirement: &2161081080 !ruby/object:Gem::Requirement
104
+ requirement: &2155269680 !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: *2161081080
112
+ version_requirements: *2155269680
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: millisami-csv-hash
115
- requirement: &2161080700 !ruby/object:Gem::Requirement
115
+ requirement: &2155269240 !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: *2161080700
123
+ version_requirements: *2155269240
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: awesome_print
126
- requirement: &2161080240 !ruby/object:Gem::Requirement
126
+ requirement: &2155268600 !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: *2161080240
134
+ version_requirements: *2155268600
135
135
  - !ruby/object:Gem::Dependency
136
136
  name: ruby-debug19
137
- requirement: &2161079820 !ruby/object:Gem::Requirement
137
+ requirement: &2155268060 !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: :development
144
144
  prerelease: false
145
- version_requirements: *2161079820
145
+ version_requirements: *2155268060
146
146
  - !ruby/object:Gem::Dependency
147
147
  name: aruba
148
- requirement: &2161079400 !ruby/object:Gem::Requirement
148
+ requirement: &2155267580 !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: *2161079400
156
+ version_requirements: *2155267580
157
157
  - !ruby/object:Gem::Dependency
158
158
  name: rails
159
- requirement: &2161078900 !ruby/object:Gem::Requirement
159
+ requirement: &2155266880 !ruby/object:Gem::Requirement
160
160
  none: false
161
161
  requirements:
162
162
  - - ~>
@@ -164,10 +164,10 @@ dependencies:
164
164
  version: 3.0.3
165
165
  type: :development
166
166
  prerelease: false
167
- version_requirements: *2161078900
167
+ version_requirements: *2155266880
168
168
  - !ruby/object:Gem::Dependency
169
169
  name: bundler
170
- requirement: &2161078400 !ruby/object:Gem::Requirement
170
+ requirement: &2155266220 !ruby/object:Gem::Requirement
171
171
  none: false
172
172
  requirements:
173
173
  - - ~>
@@ -175,10 +175,10 @@ dependencies:
175
175
  version: 1.0.0
176
176
  type: :development
177
177
  prerelease: false
178
- version_requirements: *2161078400
178
+ version_requirements: *2155266220
179
179
  - !ruby/object:Gem::Dependency
180
180
  name: generator_spec
181
- requirement: &2161077940 !ruby/object:Gem::Requirement
181
+ requirement: &2155265640 !ruby/object:Gem::Requirement
182
182
  none: false
183
183
  requirements:
184
184
  - - ~>
@@ -186,10 +186,10 @@ dependencies:
186
186
  version: 0.8.3
187
187
  type: :development
188
188
  prerelease: false
189
- version_requirements: *2161077940
189
+ version_requirements: *2155265640
190
190
  - !ruby/object:Gem::Dependency
191
191
  name: rspec-rails
192
- requirement: &2161077560 !ruby/object:Gem::Requirement
192
+ requirement: &2155265140 !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: *2161077560
200
+ version_requirements: *2155265140
201
201
  - !ruby/object:Gem::Dependency
202
202
  name: cucumber
203
- requirement: &2161077100 !ruby/object:Gem::Requirement
203
+ requirement: &2155255180 !ruby/object:Gem::Requirement
204
204
  none: false
205
205
  requirements:
206
206
  - - ! '>='
@@ -208,10 +208,10 @@ dependencies:
208
208
  version: '0'
209
209
  type: :development
210
210
  prerelease: false
211
- version_requirements: *2161077100
211
+ version_requirements: *2155255180
212
212
  - !ruby/object:Gem::Dependency
213
213
  name: rdoc
214
- requirement: &2161076600 !ruby/object:Gem::Requirement
214
+ requirement: &2155254560 !ruby/object:Gem::Requirement
215
215
  none: false
216
216
  requirements:
217
217
  - - ~>
@@ -219,10 +219,10 @@ dependencies:
219
219
  version: 3.5.3
220
220
  type: :development
221
221
  prerelease: false
222
- version_requirements: *2161076600
222
+ version_requirements: *2155254560
223
223
  - !ruby/object:Gem::Dependency
224
224
  name: vcr
225
- requirement: &2161076180 !ruby/object:Gem::Requirement
225
+ requirement: &2155254020 !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: *2161076180
233
+ version_requirements: *2155254020
234
234
  - !ruby/object:Gem::Dependency
235
235
  name: rake
236
- requirement: &2161092080 !ruby/object:Gem::Requirement
236
+ requirement: &2155253440 !ruby/object:Gem::Requirement
237
237
  none: false
238
238
  requirements:
239
239
  - - ! '>='
@@ -241,10 +241,10 @@ dependencies:
241
241
  version: '0'
242
242
  type: :development
243
243
  prerelease: false
244
- version_requirements: *2161092080
244
+ version_requirements: *2155253440
245
245
  - !ruby/object:Gem::Dependency
246
246
  name: webmock
247
- requirement: &2161091660 !ruby/object:Gem::Requirement
247
+ requirement: &2155252900 !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: *2161091660
255
+ version_requirements: *2155252900
256
256
  - !ruby/object:Gem::Dependency
257
257
  name: timecop
258
- requirement: &2161091240 !ruby/object:Gem::Requirement
258
+ requirement: &2155252360 !ruby/object:Gem::Requirement
259
259
  none: false
260
260
  requirements:
261
261
  - - ! '>='
@@ -263,7 +263,7 @@ dependencies:
263
263
  version: '0'
264
264
  type: :development
265
265
  prerelease: false
266
- version_requirements: *2161091240
266
+ version_requirements: *2155252360
267
267
  description: A Ruby wrapper and CLI for to interact with Cloudfactory.com REST API
268
268
  email:
269
269
  - info@cloudfactory.com