vcoworkflows 0.1.2 → 0.1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d50183ce8d642ade7378ff0c0993cf53daded6c4
4
- data.tar.gz: 31b515782d348804ff9f74c8e9dacdda314a2cf6
3
+ metadata.gz: 8ced3f9cf999f3d9fbbe669c39240be0aac02e6b
4
+ data.tar.gz: 02bbb9a5a8951b80e7bbf01934097b4c327050c4
5
5
  SHA512:
6
- metadata.gz: 2800e407f0acfe52d4e275a57f420739fdc0cdd73aa6e8dd2e48a30a840588f941d279a14c12095c5e78049d4b1b96d25723f9e1b950e55be6b2594eaa99dfa0
7
- data.tar.gz: ff1a54bfcb3afe64467031a57b0c2860e28e6c18655872b76abc73f66b904429b43a34b648286dfccb0a6221b44b89fa664046aff94cf3e7b91aaf8bb33841f1
6
+ metadata.gz: 01b9e9ddc5a548b1628dad6b7f7c548449140670465e60dc492bd934b01fd1ae6fc51bbae2571a6ccfa6cd6129d8ba14ebc43ae5f10cc55bf4ca165840b6c555
7
+ data.tar.gz: b21e531b8bf7cd252dbea6799183a1a16ac455af968794b1dee9c8a0841a3e5679a24370b3bfb85a05247d9621c36b79873b38a93b683175565d34b8a8dde271
data/CHANGELOG.md CHANGED
@@ -1,6 +1,54 @@
1
1
  vcoworkflows CHANGELOG
2
2
  ================
3
3
 
4
+ ## 0.1.3
5
+
6
+ ### Third Time's the Charm
7
+
8
+ General cleanup and spit-polish. There are still a few rough spots that'll take some elbow grease, but at least all the parts are in the tin.
9
+
10
+ - Update gem spec and documentation to reflect the repo being transferred to [activenetwork-automation](https://github.com/activenetwork-automation)
11
+ - Set a minimum Ruby version (`>= 2.0`) for the gem (fixes [#9](https://github.com/activenetwork-automation/vcoworkflows/issues/9))
12
+ - Fix Coveralls integration for CI ([#7](https://github.com/activenetwork-automation/vcoworkflows/issues/7))
13
+ - Deprecate `Workflow#set_parameter` and `Workflow#get_parameter`, as they're not very Ruby-ish, and if we're going to do things, we might as well do things right. I think this might be more right-ish than before. Anyway, they're deprecated in favor of:
14
+ - `Workflow#parameter` - Set an input parameter using name and value:
15
+ ```ruby
16
+ workflow.parameter('foo', 'bar')
17
+ ```
18
+
19
+ - `Workflow#parameter=` - Set an input parameter using a WorkflowParameter object:
20
+ ```ruby
21
+ workflow.parameter = VcoWorkflows::WorkflowParameter.new('my_parameter',
22
+ 'string',
23
+ value: 'foo')
24
+ ```
25
+
26
+ - `Workflow#parameter?` - Determine if an input parameter is set.
27
+ ```ruby
28
+ workflow.parameter? 'foo'
29
+ ```
30
+
31
+ - Add `Workflow#parameters=` to set all input parameters using a hash, instead of having to set parameter values individually. Basically, `Workflow` will do the work instead of making you do it.
32
+ ```ruby
33
+ input_parameters = { 'name' => 'a string value',
34
+ 'version' => '2',
35
+ 'words' => %w(fe fi fo fum) }
36
+ workflow.parameters = input_parameters
37
+ ```
38
+
39
+ - Added `Guardfile` to aid in development. See what you break as you break it! `rspec`, `rubocop` and `yard` will do their things, until you make them stop.
40
+ - Speaking of `rspec`, replaced lots of repetitive typing with a loop, because I'm *smart* like that.
41
+ - More fixes and updates to documentation.
42
+ - Pull my username out of some of the examples. *Embarrasing...* At least I didn't commit any passwords (yet).
43
+
44
+ ## 0.1.2
45
+
46
+ - Fix lots of documentation typos
47
+
48
+ ## 0.1.1
49
+
50
+ - Releases are scary.
51
+
4
52
  ## 0.1.0
5
53
 
6
54
  * Initial setup of gem framework.
data/Guardfile ADDED
@@ -0,0 +1,41 @@
1
+ notification :growl, sticky:true
2
+
3
+ # Note: The cmd option is now required due to the increasing number of ways
4
+ # rspec may be run, below are examples of the most common uses.
5
+ # * bundler: 'bundle exec rspec'
6
+ # * bundler binstubs: 'bin/rspec'
7
+ # * spring: 'bin/rspec' (This will use spring if running and you have
8
+ # installed the spring binstubs per the docs)
9
+ # * zeus: 'zeus rspec' (requires the server to be started separately)
10
+ # * 'just' rspec: 'rspec'
11
+
12
+ guard :rspec, cmd: "bundle exec rspec" do
13
+ require "guard/rspec/dsl"
14
+ dsl = Guard::RSpec::Dsl.new(self)
15
+
16
+ # Feel free to open issues for suggestions and improvements
17
+
18
+ # RSpec files
19
+ rspec = dsl.rspec
20
+ watch(rspec.spec_helper) { rspec.spec_dir }
21
+ watch(rspec.spec_support) { rspec.spec_dir }
22
+ watch(rspec.spec_files)
23
+
24
+ # Ruby files
25
+ ruby = dsl.ruby
26
+ dsl.watch_spec_files_for(ruby.lib_files)
27
+ end
28
+
29
+ guard :rubocop do
30
+ watch(%r{.+\.rb$})
31
+ watch(%r{bin/.+\.rb$})
32
+ watch(%r{lib/vcoworkflows/.+\.rb$})
33
+ watch(%r{spec/.+\.rb$})
34
+ watch(%r{spec/vcoworkflows/.+_spec\.rb$})
35
+ watch(%r{(?:.+/)?\.rubocop\.yml$}) { |m| File.direname(m[0]) }
36
+ end
37
+
38
+ guard 'yard' do
39
+ watch(%r{bin/.+\.rb})
40
+ watch(%r{lib/.+\.rb})
41
+ end
data/README.md CHANGED
@@ -1,14 +1,14 @@
1
1
  # Vcoworkflows
2
2
 
3
- [![Build Status](https://travis-ci.org/ActiveSCM/vcoworkflows.svg?branch=master)][travis]
4
- [![Dependency Status](https://gemnasium.com/ActiveSCM/vcoworkflows.svg)][gemnasium]
5
- [![Coverage Status](https://coveralls.io/repos/ActiveSCM/vcoworkflows/badge.png?branch=master)][coveralls]
6
- [![Inline docs](http://inch-ci.org/github/ActiveSCM/vcoworkflows.png?branch=master)][inch]
3
+ [![Build Status](https://travis-ci.org/activenetwork-automation/vcoworkflows.svg?branch=master)][travis]
4
+ [![Dependency Status](https://gemnasium.com/activenetwork-automation/vcoworkflows.svg)][gemnasium]
5
+ [![Coverage Status](https://coveralls.io/repos/activenetwork-automation/vcoworkflows/badge.png?branch=master)][coveralls]
6
+ [![Inline docs](http://inch-ci.org/github/activenetwork-automation/vcoworkflows.png?branch=master)][inch]
7
7
 
8
- [travis]: http://travis-ci.org/ActiveSCM/vcoworkflows
9
- [gemnasium]: https://gemnasium.com/ActiveSCM/vcoworkflows
10
- [coveralls]: https://coveralls.io/r/ActiveSCM/vcoworkflows
11
- [inch]: http://inch-ci.org/github/ActiveSCM/vcoworkflows
8
+ [travis]: http://travis-ci.org/activenetwork-automation/vcoworkflows
9
+ [gemnasium]: https://gemnasium.com/activenetwork-automation/vcoworkflows
10
+ [coveralls]: https://coveralls.io/r/activenetwork-automation/vcoworkflows
11
+ [inch]: http://inch-ci.org/github/activenetwork-automation/vcoworkflows
12
12
 
13
13
  `vcoworkflows` provides a Ruby API for finding and executing vCenter
14
14
  Orchestrator workflows. You can search for a workflow either by name or
@@ -96,12 +96,25 @@ required), then send call `execute`. This will return an execution ID from
96
96
  vCenter Orchestrator, which identifies the run you have requested. The
97
97
  execution ID is also preserved in the `Workflow` object for simplicity.
98
98
 
99
+ Setting parameters individually:
100
+
101
+ ```ruby
102
+ workflow.parameter('name', 'a string value')
103
+ worfklow.parameter('version', 2)
104
+ workflow.parameter('words', %w(fe fi fo fum))
105
+ ```
106
+
107
+ Setting parameters via a hash:
108
+
109
+ ```ruby
110
+ workflow.parameters = { 'name' => 'a string value',
111
+ 'version' => '2',
112
+ 'words' => %w(fe fi fo fum) }
113
+ ```
114
+
115
+ Then execute:
116
+
99
117
  ```ruby
100
- input_parameters = { 'name' => 'a string value',
101
- 'version' => '2',
102
- 'words' => %w(fe fi fo fum) }
103
- # ...
104
- input_parameters.each { |k, v| workflow.set_parameter(k, v) }
105
118
  workflow.execute
106
119
  ```
107
120
 
@@ -228,7 +241,7 @@ Workflow ID: 6e04a460-4a45-4e16-9603-db2922c24462
228
241
  State: completed
229
242
  Start Date: 2014-12-19 13:43:46 -0800
230
243
  End Date: 2014-12-19 13:55:24 -0800
231
- Started By: user@example.com
244
+ Started By: jdoe@example.com
232
245
 
233
246
  Input Parameters:
234
247
  coreCount = 2
@@ -252,15 +265,37 @@ Output Parameters:
252
265
  requestNumber = 326.0
253
266
  requestCompletionDetails = Request succeeded. Created vm00378.
254
267
 
255
- 2014-12-19 13:43:46 -0800 info: gruiz-ade: Workflow 'Request Component' has started
256
- 2014-12-19 13:43:59 -0800 info: gruiz-ade: Workflow is paused; Workflow 'Request Component' has paused while waiting on signal
257
- 2014-12-19 13:55:23 -0800 info: gruiz-ade: Workflow 'Request Component' has resumed
258
- 2014-12-19 13:55:24 -0800 info: gruiz-ade: Workflow 'Request Component' has completed
268
+ 2014-12-19 13:43:46 -0800 info: jdoe: Workflow 'Request Component' has started
269
+ 2014-12-19 13:43:59 -0800 info: jdoe: Workflow is paused; Workflow 'Request Component' has paused while waiting on signal
270
+ 2014-12-19 13:55:23 -0800 info: jdoe: Workflow 'Request Component' has resumed
271
+ 2014-12-19 13:55:24 -0800 info: jdoe: Workflow 'Request Component' has completed
259
272
  ```
260
273
 
274
+ ## Current limitations
275
+
276
+ ### General vCO REST API functionality
277
+
278
+ This gem is very specifically targeted at operation of workflows within vCO.
279
+ As such, anything that was not necessary or required to be able to operate
280
+ workflows has not yet been included.
281
+
282
+ ### Cancellation / Termination of running workflows
283
+
284
+ There is currently no facility to cancel a running workflow. This will be
285
+ added at some point in the future.
286
+
287
+ ### Parameter Types
288
+
289
+ Currently, there is no included support for complex parameter types (i.e.,
290
+ anything other than Strings, Numerics, or Arrays of same). This is not to say
291
+ they cannot be used, but you will need to marshall vCO object parameters into an
292
+ appropriately-constructed `Hash` to pass as the parameter value, such that when
293
+ the values are converted to JSON for the actual REST call, they are properly
294
+ constructed for vCO.
295
+
261
296
  ## Contributing
262
297
 
263
- 1. Fork it ( https://github.com/ActiveSCM/vcoworkflows/fork )
298
+ 1. Fork it ( https://github.com/activenetwork-automation/vcoworkflows/fork )
264
299
  2. Create your feature branch (`git checkout -b my-new-feature`)
265
300
  3. Commit your changes (`git commit -am 'Add some feature'`)
266
301
  4. Push to the branch (`git push origin my-new-feature`)
@@ -271,7 +306,7 @@ Output Parameters:
271
306
  - [Gregory Ruiz-Ade](https://github.com/gkra)
272
307
 
273
308
  ```
274
- Copyright 2014 Active Network, LLC
309
+ Copyright 2014 ACTIVE Network, LLC
275
310
 
276
311
  Licensed under the Apache License, Version 2.0 (the "License");
277
312
  you may not use this file except in compliance with the License.
data/example.rb CHANGED
@@ -25,9 +25,10 @@ workflow = VcoWorkflows::Workflow.new(workflow_name,
25
25
  verify_ssl: false)
26
26
 
27
27
  # Set the parameters in the workflow
28
- input_parameters.each { |k, v| workflow.set_parameter(k, v) }
28
+ workflow.parameters = input_parameters
29
29
 
30
- # Execute the workflow.
30
+ # Execute the workflow. This will also save the execution id in our
31
+ # workflow object.
31
32
  workflow.execute
32
33
 
33
34
  # We're going to wait around until the execution is done, so we'll check
@@ -1,5 +1,5 @@
1
1
  # VcoWorkflows
2
2
  module VcoWorkflows
3
3
  # Gem Version
4
- VERSION = '0.1.2'
4
+ VERSION = '0.1.3'
5
5
  end
@@ -30,15 +30,18 @@ module VcoWorkflows
30
30
  attr_reader :description
31
31
 
32
32
  # Workflow Input Parameters
33
- # @return [VcoWorkflows::WorkflowParameter{}] Hash of WorkflowParameter objects, keyed by name
33
+ # @return [Hash<VcoWorkflows::WorkflowParameter>] Hash of
34
+ # WorkflowParameter objects, keyed by name
34
35
  attr_reader :input_parameters
35
36
 
36
37
  # Workflow Output Parameters
37
- # @return [VcoWorkflows::WorkflowParameter{}] Hash of WorkflowParameter objects, keyed by name
38
+ # @return [Hash<VcoWorkflows::WorkflowParameter>] Hash of
39
+ # WorkflowParameter objects, keyed by name
38
40
  attr_reader :output_parameters
39
41
 
40
42
  # Workflow Service
41
- # @return [VcoWorkflows::WorkflowService] The WorkflowService currently being used to interface with vCO
43
+ # @return [VcoWorkflows::WorkflowService] The WorkflowService
44
+ # currently being used to interface with vCO
42
45
  attr_accessor :service
43
46
 
44
47
  # Workflow execution ID
@@ -101,7 +104,8 @@ module VcoWorkflows
101
104
  end
102
105
  workflow_data = JSON.parse(workflow_json)
103
106
 
104
- # Set up the attributes if they exist in the data json, otherwise nil them
107
+ # Set up the attributes if they exist in the data json,
108
+ # otherwise nil them
105
109
  @id = workflow_data.key?('id') ? workflow_data['id'] : nil
106
110
  @name = workflow_data.key?('name') ? workflow_data['name'] : nil
107
111
  @version = workflow_data.key?('version') ? workflow_data['version'] : nil
@@ -156,7 +160,7 @@ module VcoWorkflows
156
160
  # rubocop:disable MethodLength, LineLength
157
161
 
158
162
  # Parse json parameters and return a nice hash
159
- # @param [Array] parameter_data JSON document of parameters as defined
163
+ # @param [Array<Hash>] parameter_data Array of parameter data hashes
160
164
  # by vCO
161
165
  # @return [Hash]
162
166
  def self.parse_parameters(parameter_data = [])
@@ -192,7 +196,7 @@ module VcoWorkflows
192
196
  # rubocop:disable LineLength
193
197
 
194
198
  # Process exceptions raised in parse_parameters by bravely ignoring them
195
- # and forging ahead blindly!
199
+ # and forging ahead blindly!
196
200
  # @param [Exception] error
197
201
  def self.parse_failure(error)
198
202
  $stderr.puts "\nWhoops!"
@@ -206,7 +210,8 @@ module VcoWorkflows
206
210
  # rubocop:disable LineLength
207
211
 
208
212
  # Get an array of the names of all the required input parameters
209
- # @return [Hash] Hash of WorkflowParameter input parameters which are required for this workflow
213
+ # @return [Hash] Hash of WorkflowParameter input parameters which
214
+ # are required for this workflow
210
215
  def required_parameters
211
216
  required = {}
212
217
  @input_parameters.each_value { |v| required[v.name] = v if v.required? }
@@ -214,40 +219,70 @@ module VcoWorkflows
214
219
  end
215
220
  # rubocop:enable LineLength
216
221
 
217
- # Get the value of a specific input parameter
218
- # @param [String] parameter_name Name of the parameter whose value to get
219
- # @return [VcoWorkflows::WorkflowParameter]
220
- def parameter(parameter_name)
221
- @input_parameters[parameter_name]
222
- end
223
-
224
- # rubocop:disable LineLength
222
+ # rubocop:disable LineLength, MethodLength
225
223
 
226
- # Set a parameter to a value
227
- # @param [String] parameter_name name of the parameter to set
228
- # @param [Object] value value to set
229
- def set_parameter(parameter_name, value)
224
+ # Get the parameter object named. If a value is provided, set the value
225
+ # and return the parameter object.
226
+ #
227
+ # To get a parameter value, use parameter(parameter_name).value
228
+ #
229
+ # @param [String] parameter_name Name of the parameter to get
230
+ # @param [Object, nil] parameter_value Optional value for parameter.
231
+ # @return [VcoWorkflows::WorkflowParameter] The resulting WorkflowParameter
232
+ def parameter(parameter_name, parameter_value = nil)
230
233
  if @input_parameters.key?(parameter_name)
231
- @input_parameters[parameter_name].set value
234
+ @input_parameters[parameter_name].set parameter_value
232
235
  else
233
236
  $stderr.puts "\nAttempted to set a value for a non-existent WorkflowParameter!"
234
237
  $stderr.puts "It appears that there is no parameter \"#{parameter}\"."
235
238
  $stderr.puts "Valid parameter names are: #{@input_parameters.keys.join(', ')}"
236
239
  $stderr.puts ''
237
240
  fail(IOError, ERR[:no_such_parameter])
238
- end
241
+ end unless parameter_value.nil?
242
+ @input_parameters[parameter_name]
243
+ end
244
+ # rubocop:enable LineLength, MethodLength
245
+
246
+ # Set a parameter with a WorkflowParameter object
247
+ # @param [VcoWorkflows::WorkflowParameter] wfparameter New parameter
248
+ def parameter=(wfparameter)
249
+ @input_parameters[wfparameter.name] = wfparameter
250
+ end
251
+
252
+ # Determine whether a parameter has been set
253
+ # @param [String] parameter_name Name of the parameter to check
254
+ # @return [Boolean]
255
+ def parameter?(parameter_name)
256
+ parameter(parameter_name).set?
257
+ end
258
+
259
+ # Set all input parameters using the given hash
260
+ # @param [Hash] parameter_hash input parameter values keyed by
261
+ # input_parameter name
262
+ def parameters=(parameter_hash)
263
+ parameter_hash.each { |name, value| parameter(name, value) }
239
264
  end
240
- # rubocop:enable LineLength
241
265
 
242
266
  # rubocop:disable LineLength
243
267
 
268
+ # Set a parameter to a value.
269
+ # @deprecated Use {#parameter} instead
270
+ # @param [String] parameter_name name of the parameter to set
271
+ # @param [Object] value value to set
272
+ # @return [VcoWorkflows::WorkflowParameter] The resulting WorkflowParameter
273
+ def set_parameter(parameter_name, value)
274
+ parameter(parameter_name, value)
275
+ end
276
+
244
277
  # Get the value for an input parameter
245
- # @param [String] parameter_name Name of the input parameter whose value to get
278
+ # @deprecated Use {#parameter} to retrieve the
279
+ # {VcoWorkflows::WorkflowParameter} object, instead
280
+ # @param [String] parameter_name Name of the input parameter
281
+ # whose value to get
246
282
  # @return [Object]
247
283
  def get_parameter(parameter_name)
248
- @input_parameters[parameter_name].value
284
+ parameter(parameter_name).value
249
285
  end
250
- # rubocop:enable LineLength
251
286
 
252
287
  # rubocop:disable LineLength
253
288
 
@@ -14,6 +14,20 @@ describe VcoWorkflows::Workflow, 'Workflow' do
14
14
  @param_string_json = '''{"type":"string","name":"stringparam","scope":"local","value":{"string":{"value":"squirrel!"}}}'''
15
15
  @param_array_json = '''{"type":"Array/string","name":"arrayparam","scope":"local","value":{"array":{"elements":[{"string":{"value":"a"}},{"string":{"value":"b"}},{"string":{"value":"c"}}]}}}'''
16
16
 
17
+ @target_parameters = {
18
+ 'coreCount' => 2,
19
+ 'ramMB' => 2048,
20
+ 'businessUnit' => 'aw',
21
+ 'reservation' => 'nonprodlinux',
22
+ 'environment' => 'dev1',
23
+ 'image' => 'centos-6.6-x86_64-20141203-1',
24
+ 'component' => 'api',
25
+ 'onBehalfOf' => 'svcacct@example.com',
26
+ 'location' => 'us_east',
27
+ 'runlist' => %w(role[loc_uswest] role[base] role[api]),
28
+ 'machineCount' => 1
29
+ }
30
+
17
31
  # Mock the WorkflowService
18
32
  @service = double('service')
19
33
  allow(@service).to receive(:get_workflow_for_id) { @workflow_json }
@@ -87,32 +101,43 @@ describe VcoWorkflows::Workflow, 'Workflow' do
87
101
  expect(wf.required_parameters.size).to eq(required_param_count)
88
102
  end
89
103
 
90
- it 'should set and return a parameter value' do
104
+ it 'should set a parameter value' do
91
105
  wf = VcoWorkflows::Workflow.new(@workflow_name, service: @service)
92
106
 
93
- expect(wf.set_parameter('coreCount', 4)).to eq(4)
107
+ # Set the value and check the returned parameter
108
+ expect(wf.parameter('coreCount', 4).value).to eq(4)
109
+
110
+ # Check the parameter value
111
+ expect(wf.parameter('coreCount').value).to eq(4)
112
+
113
+ # Check the parameter by reaching through input_parameters
94
114
  expect(wf.input_parameters['coreCount'].value).to eq(4)
95
- expect(wf.get_parameter('coreCount')).to eql(4)
115
+ end
116
+
117
+ it 'should set all parameters by hash' do
118
+ wf = VcoWorkflows::Workflow.new(@workflow_name, service: @service)
119
+ wf.parameters = @target_parameters
120
+
121
+ @target_parameters.each_key do |param_name|
122
+ expect(wf.parameter(param_name).value).to eql(@target_parameters[param_name])
123
+ end
124
+ end
125
+
126
+ it 'should set a parameter by object' do
127
+ wf = VcoWorkflows::Workflow.new(@workflow_name, service: @service)
128
+ wfparam = VcoWorkflows::WorkflowParameter.new('coreCount', 'string', value: 2)
129
+ wf.parameter = wfparam
130
+
131
+ expect(wf.parameter('coreCount')).to_not eq(nil)
132
+ expect(wf.parameter('coreCount').type).to eql('string')
133
+ expect(wf.parameter('coreCount').value).to eq(2)
96
134
  end
97
135
 
98
136
  it 'should execute' do
99
137
  allow(@service).to receive(:execute_workflow) { @execution_id }
100
- target_parameters = {
101
- 'coreCount' => 2,
102
- 'ramMB' => 2048,
103
- 'businessUnit' => 'aw',
104
- 'reservation' => 'nonprodlinux',
105
- 'environment' => 'dev1',
106
- 'image' => 'centos-6.6-x86_64-20141203-1',
107
- 'component' => 'api',
108
- 'onBehalfOf' => 'svcacct@example.com',
109
- 'location' => 'us_east',
110
- 'runlist' => %w(role[loc_uswest] role[base] role[api]),
111
- 'machineCount' => 1
112
- }
113
138
 
114
139
  wf = VcoWorkflows::Workflow.new(@workflow_name, service: @service)
115
- target_parameters.each { |k, v| wf.set_parameter(k, v) }
140
+ wf.parameters = @target_parameters
116
141
 
117
142
  expect(wf.execute).to eql(@execution_id)
118
143
  end
data/vcoworkflows.gemspec CHANGED
@@ -11,22 +11,25 @@ Gem::Specification.new do |spec|
11
11
  spec.email = 'gregory.ruiz-ade@activenetwork.com'
12
12
  spec.summary = 'vCO Workflows REST API Wrapper'
13
13
  spec.description = 'Ruby implementation of vCenter Orchestrator REST API'
14
- spec.homepage = ''
14
+ spec.homepage = 'https://github.com/activenetwork-automation/vcoworkflows'
15
15
  spec.license = 'Apache 2.0'
16
16
 
17
17
  spec.files = `git ls-files -z`.split("\x0")
18
18
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
19
19
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
20
20
  spec.require_paths = ['lib']
21
+ spec.required_ruby_version = '>= 2.0'
21
22
 
22
23
  spec.add_development_dependency 'bundler', '~> 1.7'
23
24
  spec.add_development_dependency 'rake', '~> 10.0'
24
25
  spec.add_development_dependency 'rubocop', '>= 0.27.0'
25
26
  spec.add_development_dependency 'aruba', '>= 0.6'
26
27
  spec.add_development_dependency 'rspec', '>= 3.0'
27
- spec.add_development_dependency 'coveralls', '= 0.7.1'
28
+ spec.add_development_dependency 'coveralls', '~> 0.7.1'
28
29
  spec.add_development_dependency 'guard', '>= 2.10.0'
29
30
  spec.add_development_dependency 'guard-rubocop', '>= 1.1.0'
31
+ spec.add_development_dependency 'guard-rspec', '~> 4.5.0'
32
+ spec.add_development_dependency 'guard-yard', '~> 2.1.4'
30
33
  # growl functionality in Guardfile depends on growl-notify
31
34
  spec.add_development_dependency 'growl', '>= 1.0'
32
35
  spec.add_development_dependency 'yard', '>= 0.8'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vcoworkflows
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gregory Ruiz-ade
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-03 00:00:00.000000000 Z
11
+ date: 2015-02-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -84,14 +84,14 @@ dependencies:
84
84
  name: coveralls
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '='
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
89
  version: 0.7.1
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '='
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: 0.7.1
97
97
  - !ruby/object:Gem::Dependency
@@ -122,6 +122,34 @@ dependencies:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: 1.1.0
125
+ - !ruby/object:Gem::Dependency
126
+ name: guard-rspec
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: 4.5.0
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: 4.5.0
139
+ - !ruby/object:Gem::Dependency
140
+ name: guard-yard
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: 2.1.4
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: 2.1.4
125
153
  - !ruby/object:Gem::Dependency
126
154
  name: growl
127
155
  requirement: !ruby/object:Gem::Requirement
@@ -191,6 +219,7 @@ files:
191
219
  - ".travis.yml"
192
220
  - CHANGELOG.md
193
221
  - Gemfile
222
+ - Guardfile
194
223
  - LICENSE.txt
195
224
  - README.md
196
225
  - Rakefile
@@ -219,7 +248,7 @@ files:
219
248
  - spec/vcoworkflows/workflowservice_spec.rb
220
249
  - spec/vcoworkflows/workflowtoken_spec.rb
221
250
  - vcoworkflows.gemspec
222
- homepage: ''
251
+ homepage: https://github.com/activenetwork-automation/vcoworkflows
223
252
  licenses:
224
253
  - Apache 2.0
225
254
  metadata: {}
@@ -231,7 +260,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
231
260
  requirements:
232
261
  - - ">="
233
262
  - !ruby/object:Gem::Version
234
- version: '0'
263
+ version: '2.0'
235
264
  required_rubygems_version: !ruby/object:Gem::Requirement
236
265
  requirements:
237
266
  - - ">="