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 +6 -0
- data/lib/cf/cli/line.rb +15 -8
- data/lib/cf/cli/production.rb +29 -18
- data/lib/cf/form_field.rb +2 -1
- data/lib/cf/input_format.rb +9 -5
- data/lib/cf/line.rb +9 -5
- data/lib/cf/run.rb +9 -0
- data/lib/cf/version.rb +1 -1
- data/spec/form_field_spec.rb +31 -0
- data/spec/input_format_spec.rb +12 -0
- data/spec/run_spec.rb +33 -0
- metadata +48 -48
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
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
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
|
|
data/lib/cf/cli/production.rb
CHANGED
@@ -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
|
-
|
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?
|
data/lib/cf/input_format.rb
CHANGED
@@ -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
|
-
|
45
|
-
|
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
|
-
|
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
data/spec/form_field_spec.rb
CHANGED
@@ -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
|
data/spec/input_format_spec.rb
CHANGED
@@ -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.
|
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-
|
12
|
+
date: 2011-08-30 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: i18n
|
16
|
-
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: *
|
24
|
+
version_requirements: *2155292240
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: activesupport
|
27
|
-
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: *
|
35
|
+
version_requirements: *2155291620
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: hashie
|
38
|
-
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: *
|
46
|
+
version_requirements: *2155290940
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rest-client
|
49
|
-
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: *
|
57
|
+
version_requirements: *2155272760
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: json
|
60
|
-
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: *
|
68
|
+
version_requirements: *2155272180
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: thor
|
71
|
-
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: *
|
79
|
+
version_requirements: *2155271560
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: highline
|
82
|
-
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: *
|
90
|
+
version_requirements: *2155271020
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: httparty
|
93
|
-
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: *
|
101
|
+
version_requirements: *2155270360
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: terminal-table
|
104
|
-
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: *
|
112
|
+
version_requirements: *2155269680
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
114
|
name: millisami-csv-hash
|
115
|
-
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: *
|
123
|
+
version_requirements: *2155269240
|
124
124
|
- !ruby/object:Gem::Dependency
|
125
125
|
name: awesome_print
|
126
|
-
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: *
|
134
|
+
version_requirements: *2155268600
|
135
135
|
- !ruby/object:Gem::Dependency
|
136
136
|
name: ruby-debug19
|
137
|
-
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: *
|
145
|
+
version_requirements: *2155268060
|
146
146
|
- !ruby/object:Gem::Dependency
|
147
147
|
name: aruba
|
148
|
-
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: *
|
156
|
+
version_requirements: *2155267580
|
157
157
|
- !ruby/object:Gem::Dependency
|
158
158
|
name: rails
|
159
|
-
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: *
|
167
|
+
version_requirements: *2155266880
|
168
168
|
- !ruby/object:Gem::Dependency
|
169
169
|
name: bundler
|
170
|
-
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: *
|
178
|
+
version_requirements: *2155266220
|
179
179
|
- !ruby/object:Gem::Dependency
|
180
180
|
name: generator_spec
|
181
|
-
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: *
|
189
|
+
version_requirements: *2155265640
|
190
190
|
- !ruby/object:Gem::Dependency
|
191
191
|
name: rspec-rails
|
192
|
-
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: *
|
200
|
+
version_requirements: *2155265140
|
201
201
|
- !ruby/object:Gem::Dependency
|
202
202
|
name: cucumber
|
203
|
-
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: *
|
211
|
+
version_requirements: *2155255180
|
212
212
|
- !ruby/object:Gem::Dependency
|
213
213
|
name: rdoc
|
214
|
-
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: *
|
222
|
+
version_requirements: *2155254560
|
223
223
|
- !ruby/object:Gem::Dependency
|
224
224
|
name: vcr
|
225
|
-
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: *
|
233
|
+
version_requirements: *2155254020
|
234
234
|
- !ruby/object:Gem::Dependency
|
235
235
|
name: rake
|
236
|
-
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: *
|
244
|
+
version_requirements: *2155253440
|
245
245
|
- !ruby/object:Gem::Dependency
|
246
246
|
name: webmock
|
247
|
-
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: *
|
255
|
+
version_requirements: *2155252900
|
256
256
|
- !ruby/object:Gem::Dependency
|
257
257
|
name: timecop
|
258
|
-
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: *
|
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
|