pvdgm-svc-client 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +7 -0
  2. data/.document +5 -0
  3. data/Gemfile +17 -0
  4. data/Gemfile.lock +75 -0
  5. data/LICENSE.txt +20 -0
  6. data/README.rdoc +21 -0
  7. data/Rakefile +50 -0
  8. data/VERSION +1 -0
  9. data/bin/service_mgr +8 -0
  10. data/bin/service_mgr_completion +86 -0
  11. data/bin/valid_commands +16 -0
  12. data/bin/valid_resources +11 -0
  13. data/lib/pvdgm-svc-client/base_resource.rb +118 -0
  14. data/lib/pvdgm-svc-client/prompters/account_mapping_prompter.rb +26 -0
  15. data/lib/pvdgm-svc-client/prompters/configured_account_prompter.rb +30 -0
  16. data/lib/pvdgm-svc-client/prompters/configured_facility_prompter.rb +30 -0
  17. data/lib/pvdgm-svc-client/prompters/facility_mapping_prompter.rb +26 -0
  18. data/lib/pvdgm-svc-client/prompters/public_key_prompter.rb +27 -0
  19. data/lib/pvdgm-svc-client/prompters/service_definition_prompter.rb +30 -0
  20. data/lib/pvdgm-svc-client/prompters/service_prompter.rb +26 -0
  21. data/lib/pvdgm-svc-client/prompters/sltc_provider_prompter.rb +24 -0
  22. data/lib/pvdgm-svc-client/prompters/sltc_registration_prompter.rb +26 -0
  23. data/lib/pvdgm-svc-client/prompters/third_party_prompter.rb +26 -0
  24. data/lib/pvdgm-svc-client/resources/account_mapping.rb +83 -0
  25. data/lib/pvdgm-svc-client/resources/assessment_request.rb +61 -0
  26. data/lib/pvdgm-svc-client/resources/available_file.rb +48 -0
  27. data/lib/pvdgm-svc-client/resources/configured_account.rb +118 -0
  28. data/lib/pvdgm-svc-client/resources/configured_facility.rb +118 -0
  29. data/lib/pvdgm-svc-client/resources/facility_mapping.rb +90 -0
  30. data/lib/pvdgm-svc-client/resources/mds_pull_account.rb +55 -0
  31. data/lib/pvdgm-svc-client/resources/provider.rb +28 -0
  32. data/lib/pvdgm-svc-client/resources/public_key.rb +119 -0
  33. data/lib/pvdgm-svc-client/resources/service.rb +67 -0
  34. data/lib/pvdgm-svc-client/resources/service_definition.rb +147 -0
  35. data/lib/pvdgm-svc-client/resources/sltc_registration.rb +51 -0
  36. data/lib/pvdgm-svc-client/resources/third_party.rb +61 -0
  37. data/lib/pvdgm-svc-client/service_mgr_options.rb +157 -0
  38. data/lib/pvdgm-svc-client.rb +16 -0
  39. data/spec/base_resource_spec.rb +208 -0
  40. data/spec/service_mgr_options_spec.rb +266 -0
  41. data/spec/spec_helper.rb +22 -0
  42. metadata +202 -0
@@ -0,0 +1,208 @@
1
+ require 'spec_helper'
2
+
3
+ describe BaseResource do
4
+
5
+ context 'Private Methods' do
6
+
7
+ before(:each) do
8
+ @cut = BaseResource.new({ use_ssl: false, server: 'localhost:3000', api_token: 'sltc_api_token'})
9
+ end
10
+
11
+ context '#invoke_rest' do
12
+
13
+ it "should return a raw string if a non-JSON response is made from the block" do
14
+ result = @cut.send(:invoke_rest, false) do
15
+ "abc123"
16
+ end
17
+ expect(result).to eq("abc123")
18
+ end
19
+
20
+ it "should parse a response as JSON by default" do
21
+ result = @cut.send(:invoke_rest) do
22
+ '{ "message": "from the other side" }'
23
+ end
24
+ expect(result).to eq({ 'message' => 'from the other side' })
25
+ end
26
+
27
+ it "should output an error message and exit if the JSON payload is invalid" do
28
+ expect {
29
+ @cut.send(:invoke_rest) do
30
+ '{ message => 3'
31
+ end
32
+ }.to raise_error(SystemExit)
33
+ end
34
+
35
+ it "should output an error message and exit if there is a non-403,404 exception" do
36
+ mock_response = double("Response")
37
+ mock_response.should_receive(:code).any_number_of_times.and_return(500)
38
+ mock_response.should_receive(:description).and_return("System error")
39
+
40
+ expect {
41
+ @cut.send(:invoke_rest) do
42
+ raise RestClient::Exception.new(mock_response, 500)
43
+ end
44
+ }.to raise_error(SystemExit)
45
+ end
46
+
47
+ it "should output an error message and exit if there is a 403 exception with no json" do
48
+ mock_response = double("Response")
49
+ mock_response.should_receive(:code).any_number_of_times.and_return(403)
50
+ mock_response.should_receive(:description).and_return("Some other error")
51
+
52
+ expect {
53
+ @cut.send(:invoke_rest, false) do
54
+ raise RestClient::Exception.new(mock_response, 403)
55
+ end
56
+ }.to raise_error(SystemExit)
57
+ end
58
+
59
+ it "should output an error message and exit if there is a 404 exception with error json" do
60
+ mock_response = double("Response")
61
+ mock_response.stub(:code).and_return(404)
62
+ mock_response.should_receive(:description).and_return("Some other error")
63
+ mock_response.should_receive(:http_body).and_return('{ "error" : "Error message" }')
64
+
65
+ expect {
66
+ @cut.send(:invoke_rest) do
67
+ raise RestClient::Exception.new(mock_response, 404)
68
+ end
69
+ }.to raise_error(SystemExit)
70
+ end
71
+
72
+ it "should output an error message and exit if there is a 403 exception with validation error json" do
73
+ mock_response = double("Response")
74
+ mock_response.should_receive(:code).any_number_of_times.and_return(403)
75
+ mock_response.should_receive(:description).and_return("Some other error")
76
+ mock_response.should_receive(:http_body).and_return('{ "validation_error" : { "name" : [ "Error 1", "Error 2" ] } }')
77
+
78
+ expect {
79
+ @cut.send(:invoke_rest) do
80
+ raise RestClient::Exception.new(mock_response, 403)
81
+ end
82
+ }.to raise_error(SystemExit)
83
+ end
84
+
85
+ it "should output an error message and exit if there is a 403 exception with some other error json" do
86
+ mock_response = double("Response")
87
+ mock_response.should_receive(:code).any_number_of_times.and_return(403)
88
+ mock_response.should_receive(:description).and_return("Some other error")
89
+ mock_response.should_receive(:http_body).and_return('{ "other_error" : { "name" : [ "Error 1", "Error 2" ] } }')
90
+
91
+ expect {
92
+ @cut.send(:invoke_rest) do
93
+ raise RestClient::Exception.new(mock_response, 403)
94
+ end
95
+ }.to raise_error(SystemExit)
96
+ end
97
+
98
+ it "should output an error message and exit if there is a 403 exception with invalid validation error json" do
99
+ mock_response = double("Response")
100
+ mock_response.should_receive(:code).any_number_of_times.and_return(403)
101
+ mock_response.should_receive(:description).and_return("Some other error")
102
+ mock_response.should_receive(:http_body).any_number_of_times.and_return('{ "validation_error" : { "name" : "Error 1", "Error 2" ] } }')
103
+
104
+ expect {
105
+ @cut.send(:invoke_rest) do
106
+ raise RestClient::Exception.new(mock_response, 403)
107
+ end
108
+ }.to raise_error(SystemExit)
109
+ end
110
+
111
+ it "should output an error message and exit if there is an unknown exception raised in the block" do
112
+ expect {
113
+ @cut.send(:invoke_rest) do
114
+ raise "Some unknown exception"
115
+ end
116
+ }.to raise_error(SystemExit)
117
+ end
118
+
119
+ end
120
+
121
+ context '#get' do
122
+
123
+ it "should return the response from the GET call" do
124
+ @cut.should_receive(:invoke_rest).with(true).and_yield
125
+
126
+ RestClient.should_receive(:get).
127
+ with('http://localhost:3000/tubes', {"Authorization"=>"Token token=\"sltc_api_token\"" }).
128
+ and_return({ hey: 'guy' })
129
+
130
+ expect(@cut.send(:get, 'tubes')).to eq({ hey: 'guy' })
131
+ end
132
+
133
+ end
134
+
135
+ context '#delete' do
136
+
137
+ it "should return the response from the DELETE call" do
138
+ @cut.should_receive(:invoke_rest).with(true).and_yield
139
+
140
+ RestClient.should_receive(:delete).
141
+ with('http://localhost:3000/tubes', {"Authorization"=>"Token token=\"sltc_api_token\"" }).
142
+ and_return({ hey: 'guy' })
143
+
144
+ expect(@cut.send(:delete, 'tubes')).to eq({ hey: 'guy' })
145
+ end
146
+
147
+ end
148
+
149
+ context '#post' do
150
+
151
+ it "should return the response from the POST call" do
152
+ @cut.should_receive(:invoke_rest).with(true).and_yield
153
+
154
+ RestClient.should_receive(:post).
155
+ with('http://localhost:3000/tubes',
156
+ {"param1"=>"pvalue"},
157
+ {"Authorization"=>"Token token=\"sltc_api_token\"" }).
158
+ and_return({ hey: 'guy' })
159
+
160
+ expect(@cut.send(:post, 'tubes', { 'param1' => 'pvalue' })).to eq({ hey: 'guy' })
161
+ end
162
+
163
+ end
164
+
165
+ context '#put' do
166
+
167
+ it "should return the response from the PUT call" do
168
+ @cut.should_receive(:invoke_rest).with(true).and_yield
169
+
170
+ RestClient.should_receive(:put).
171
+ with('http://localhost:3000/tubes',
172
+ {"param1"=>"pvalue"},
173
+ {"Authorization"=>"Token token=\"sltc_api_token\"" }).
174
+ and_return({ hey: 'guy' })
175
+
176
+ expect(@cut.send(:put, 'tubes', { 'param1' => 'pvalue' })).to eq({ hey: 'guy' })
177
+ end
178
+
179
+ end
180
+
181
+ context '#build_url' do
182
+
183
+ it "should return the properly formatted url" do
184
+ @cut.options[:use_ssl] = false
185
+ @cut.options[:server] = 'www.bob.com'
186
+
187
+ expect(@cut.send(:build_url, 'the_uri')).to eq('http://www.bob.com/the_uri')
188
+
189
+ @cut.options[:use_ssl] = true
190
+
191
+ expect(@cut.send(:build_url, 'the_uri')).to eq('https://www.bob.com/the_uri')
192
+ end
193
+
194
+ end
195
+
196
+ context '#authentication_headers' do
197
+
198
+ it "should return a hash containing the authentication headers" do
199
+ @cut.options[:api_token] = 'this is the token string'
200
+ expect(@cut.send(:authentication_headers)).
201
+ to eq( { 'Authorization' => "Token token=\"this is the token string\"" } )
202
+ end
203
+
204
+ end
205
+
206
+ end
207
+
208
+ end
@@ -0,0 +1,266 @@
1
+ require 'spec_helper'
2
+
3
+ describe ServiceMgrOptions do
4
+
5
+ # The current set of all resources. This automatically updates if new
6
+ # resources are added to the application
7
+ RESOURCES = Resources.constants.map { | const | ActiveSupport::Inflector.underscore(const.to_s) }
8
+ COMMANDS = RESOURCES.inject(Hash.new { | h, k | h[k] = [] }) do | acc, resource |
9
+ acc.tap do | a |
10
+ a[resource] = eval("Resources::#{ActiveSupport::Inflector.camelize(resource)}").instance_methods(false)
11
+ end
12
+ end
13
+
14
+ before(:each) do
15
+ @cut = ServiceMgrOptions.new
16
+ end
17
+
18
+ context 'Public Methods' do
19
+
20
+ context '#parse_options!' do
21
+
22
+ context 'without an api token' do
23
+
24
+ it "should raise an exception if no API token has been specified" do
25
+ argv = []
26
+ expect { @cut.parse_options!(argv) }.
27
+ to raise_error(SystemExit)
28
+ end
29
+
30
+ end
31
+
32
+ context 'with an api token' do
33
+
34
+ it "should provide a default resource and command if none is specified on the command line" do
35
+ argv = ['--token', 'the_token' ]
36
+ expect(@cut.parse_options!(argv)).
37
+ to eq([ { server: 'www.abaqis.com', use_ssl: true, api_token: 'the_token', trace: false }, # Default options
38
+ 'service', # Default resource
39
+ 'list' ]) # Default command
40
+ end
41
+
42
+ it "should use the specified resource and infer the command when the command is not specified" do
43
+ argv = ['--token', 'the_token', 'service' ]
44
+ expect(@cut.parse_options!(argv)).
45
+ to eq([ { server: 'www.abaqis.com', use_ssl: true, api_token: 'the_token', trace: false }, # Default options
46
+ 'service', # Specified resource
47
+ 'list' ]) # Default command
48
+ end
49
+
50
+ it "should use the specified resource and command when specified" do
51
+ argv = ['--token', 'the_token', 'service', 'show' ]
52
+ expect(@cut.parse_options!(argv)).
53
+ to eq([ { server: 'www.abaqis.com', use_ssl: true, api_token: 'the_token', trace: false }, # Default options
54
+ 'service', # Specified resource
55
+ 'show' ]) # Specified command
56
+ end
57
+
58
+ it "should render the help display and exit when the help option is specified" do
59
+ argv = [ '--help' ]
60
+ expect { @cut.parse_options!(argv) }.
61
+ to raise_error(SystemExit)
62
+ end
63
+
64
+ it "should set the server option" do
65
+ argv = ['--token', 'the_token', '--server', 'test.abaqis.int' ]
66
+ expect(@cut.parse_options!(argv)).
67
+ to eq([ { server: 'test.abaqis.int',
68
+ use_ssl: true,
69
+ api_token: 'the_token',
70
+ trace: false }, # Default options
71
+ 'service', # Default resource
72
+ 'list' ]) # Default command
73
+ end
74
+
75
+ it "should set the server/ssl option for local testing" do
76
+ argv = ['--token', 'the_token', '--local']
77
+ expect(@cut.parse_options!(argv)).
78
+ to eq([ { server: 'localhost:3000',
79
+ use_ssl: false,
80
+ api_token: 'the_token',
81
+ trace: false }, # Default options
82
+ 'service', # Default resource
83
+ 'list' ]) # Default command
84
+ end
85
+
86
+ it "should set the server/ssl option for uat testing" do
87
+ argv = ['--token', 'the_token', '--uat']
88
+ expect(@cut.parse_options!(argv)).
89
+ to eq([ { server: 'uat.abaqis.com',
90
+ use_ssl: true,
91
+ api_token: 'the_token',
92
+ trace: false }, # Default options
93
+ 'service', # Default resource
94
+ 'list' ]) # Default command
95
+ end
96
+
97
+ it "should display the resources/commands and exit" do
98
+ argv = [ '--list' ]
99
+ expect { @cut.parse_options!(argv) }.
100
+ to raise_error(SystemExit)
101
+ end
102
+
103
+ it "should set the trace option" do
104
+ argv = ['--token', 'the_token', '--trace']
105
+ expect(@cut.parse_options!(argv)).
106
+ to eq([ { server: 'www.abaqis.com',
107
+ use_ssl: true,
108
+ api_token: 'the_token',
109
+ trace: true }, # Default options
110
+ 'service', # Default resource
111
+ 'list' ]) # Default command
112
+ end
113
+
114
+ it "should the set the account mapping id" do
115
+ argv = ['--token', 'the_token', '--account-mapping-id', "234"]
116
+ expect(@cut.parse_options!(argv)).
117
+ to eq([ { server: 'www.abaqis.com',
118
+ use_ssl: true,
119
+ api_token: 'the_token',
120
+ trace: false,
121
+ account_mapping_id: "234" }, # Default options
122
+ 'service', # Default resource
123
+ 'list' ]) # Default command
124
+ end
125
+
126
+ it "should the set the configured account id" do
127
+ argv = ['--token', 'the_token', '--configured-account-id', "234"]
128
+ expect(@cut.parse_options!(argv)).
129
+ to eq([ { server: 'www.abaqis.com',
130
+ use_ssl: true,
131
+ api_token: 'the_token',
132
+ trace: false,
133
+ configured_account_id: "234" }, # Default options
134
+ 'service', # Default resource
135
+ 'list' ]) # Default command
136
+ end
137
+
138
+ it "should the set the facility mapping id" do
139
+ argv = ['--token', 'the_token', '--facility-mapping-id', "234"]
140
+ expect(@cut.parse_options!(argv)).
141
+ to eq([ { server: 'www.abaqis.com',
142
+ use_ssl: true,
143
+ api_token: 'the_token',
144
+ trace: false,
145
+ facility_mapping_id: "234" }, # Default options
146
+ 'service', # Default resource
147
+ 'list' ]) # Default command
148
+ end
149
+
150
+ it "should the set the service definition id" do
151
+ argv = ['--token', 'the_token', '--service-definition-id', "234"]
152
+ expect(@cut.parse_options!(argv)).
153
+ to eq([ { server: 'www.abaqis.com',
154
+ use_ssl: true,
155
+ api_token: 'the_token',
156
+ trace: false,
157
+ service_definition_id: "234" }, # Default options
158
+ 'service', # Default resource
159
+ 'list' ]) # Default command
160
+ end
161
+
162
+ it "should the set the service id" do
163
+ argv = ['--token', 'the_token', '--service-id', "234"]
164
+ expect(@cut.parse_options!(argv)).
165
+ to eq([ { server: 'www.abaqis.com',
166
+ use_ssl: true,
167
+ api_token: 'the_token',
168
+ trace: false,
169
+ service_id: "234" }, # Default options
170
+ 'service', # Default resource
171
+ 'list' ]) # Default command
172
+ end
173
+
174
+ it "should the set the third party id" do
175
+ argv = ['--token', 'the_token', '--third-party-id', "234"]
176
+ expect(@cut.parse_options!(argv)).
177
+ to eq([ { server: 'www.abaqis.com',
178
+ use_ssl: true,
179
+ api_token: 'the_token',
180
+ trace: false,
181
+ third_party_id: "234" }, # Default options
182
+ 'service', # Default resource
183
+ 'list' ]) # Default command
184
+ end
185
+
186
+ end
187
+
188
+ end
189
+
190
+ context '#invoke_command' do
191
+
192
+ it "should construct the resource with the options and invoke the command on the resource" do
193
+ @cut.should_receive(:parse_options!).
194
+ and_return( [ { }, 'service', 'list' ] )
195
+
196
+ mock_service = double("Service")
197
+ mock_service.should_receive(:send).
198
+ with(:list)
199
+
200
+ Resources::Service.should_receive(:new).
201
+ with({}).
202
+ and_return(mock_service)
203
+
204
+ @cut.invoke_command
205
+ end
206
+
207
+ end
208
+ end
209
+
210
+ context 'Private Methods' do
211
+
212
+ context '#valid_command?' do
213
+
214
+ it "should return true if the specified resource has the specified command" do
215
+ COMMANDS.each_pair do | resource, commands |
216
+ commands.each do | command |
217
+ expect(@cut.send(:valid_command?, resource, command.to_s)).
218
+ to be_true, "'#{command}' should be a valid command for resource '#{resource}'"
219
+ end
220
+ end
221
+ end
222
+
223
+ it "should return false if the specified resource doesn't have the specified command" do
224
+ expect(@cut.send(:valid_command?, 'service', 'invalid_command')).
225
+ to be_false
226
+ end
227
+
228
+ it "should return false if the specified resource is nil" do
229
+ expect(@cut.send(:valid_command?, nil, 'list')).
230
+ to be_false
231
+ end
232
+
233
+ it "should return false if the specified command is nil" do
234
+ expect(@cut.send(:valid_command?, 'service', nil)).
235
+ to be_false
236
+ end
237
+
238
+ it "should do something horrible if the resource name is bogus" do
239
+ expect { @cut.send(:valid_command?, 'bottle', 'list') }.
240
+ to raise_error(NameError)
241
+ end
242
+
243
+ end
244
+
245
+ context '#valid_resource' do
246
+
247
+ it "should return true if the specified resource is valid" do
248
+ expect(@cut.send(:valid_resource?, 'service')).
249
+ to be_true
250
+ end
251
+
252
+ it "should return false if the specified resource is not valid" do
253
+ expect(@cut.send(:valid_resource?, 'servicer')).
254
+ to be_false
255
+ end
256
+
257
+ it "should return false if the specified resource is nil" do
258
+ expect(@cut.send(:valid_resource?, nil)).
259
+ to be_false
260
+ end
261
+
262
+ end
263
+
264
+ end
265
+
266
+ end
@@ -0,0 +1,22 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+
4
+ # Here's the deal. We need to make sure that the API_TOKEN is not set
5
+ # environment before the tests are run. In fact, the ENV['API_TOKEN']
6
+ # must be cleared before the ServiceMgrOptions class is loaded. That's
7
+ # why we do it before the requires.
8
+ #
9
+ # I'm just sayin'
10
+ #
11
+ ENV.delete('API_TOKEN')
12
+
13
+ require 'rspec'
14
+ require 'pvdgm-svc-client'
15
+
16
+ # Requires supporting files with custom matchers and macros, etc,
17
+ # in ./support/ and its subdirectories.
18
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
19
+
20
+ RSpec.configure do |config|
21
+
22
+ end
metadata ADDED
@@ -0,0 +1,202 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: pvdgm-svc-client
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.6
5
+ platform: ruby
6
+ authors:
7
+ - Dave Sieh
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-11-25 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activesupport
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '='
18
+ - !ruby/object:Gem::Version
19
+ version: 3.2.14
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '='
25
+ - !ruby/object:Gem::Version
26
+ version: 3.2.14
27
+ - !ruby/object:Gem::Dependency
28
+ name: rest-client
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: terminal-table
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: highline
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rdoc
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '3.12'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '3.12'
97
+ - !ruby/object:Gem::Dependency
98
+ name: bundler
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '1.0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '1.0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: jeweler
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 1.8.7
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 1.8.7
125
+ description: This gem provides command line and other types of tools to support the
126
+ Service Engine.
127
+ email: dave.sieh@providigm.com
128
+ executables:
129
+ - service_mgr
130
+ - service_mgr_completion
131
+ - valid_commands
132
+ - valid_resources
133
+ extensions: []
134
+ extra_rdoc_files:
135
+ - LICENSE.txt
136
+ - README.rdoc
137
+ files:
138
+ - ".document"
139
+ - Gemfile
140
+ - Gemfile.lock
141
+ - LICENSE.txt
142
+ - README.rdoc
143
+ - Rakefile
144
+ - VERSION
145
+ - bin/service_mgr
146
+ - bin/service_mgr_completion
147
+ - bin/valid_commands
148
+ - bin/valid_resources
149
+ - lib/pvdgm-svc-client.rb
150
+ - lib/pvdgm-svc-client/base_resource.rb
151
+ - lib/pvdgm-svc-client/prompters/account_mapping_prompter.rb
152
+ - lib/pvdgm-svc-client/prompters/configured_account_prompter.rb
153
+ - lib/pvdgm-svc-client/prompters/configured_facility_prompter.rb
154
+ - lib/pvdgm-svc-client/prompters/facility_mapping_prompter.rb
155
+ - lib/pvdgm-svc-client/prompters/public_key_prompter.rb
156
+ - lib/pvdgm-svc-client/prompters/service_definition_prompter.rb
157
+ - lib/pvdgm-svc-client/prompters/service_prompter.rb
158
+ - lib/pvdgm-svc-client/prompters/sltc_provider_prompter.rb
159
+ - lib/pvdgm-svc-client/prompters/sltc_registration_prompter.rb
160
+ - lib/pvdgm-svc-client/prompters/third_party_prompter.rb
161
+ - lib/pvdgm-svc-client/resources/account_mapping.rb
162
+ - lib/pvdgm-svc-client/resources/assessment_request.rb
163
+ - lib/pvdgm-svc-client/resources/available_file.rb
164
+ - lib/pvdgm-svc-client/resources/configured_account.rb
165
+ - lib/pvdgm-svc-client/resources/configured_facility.rb
166
+ - lib/pvdgm-svc-client/resources/facility_mapping.rb
167
+ - lib/pvdgm-svc-client/resources/mds_pull_account.rb
168
+ - lib/pvdgm-svc-client/resources/provider.rb
169
+ - lib/pvdgm-svc-client/resources/public_key.rb
170
+ - lib/pvdgm-svc-client/resources/service.rb
171
+ - lib/pvdgm-svc-client/resources/service_definition.rb
172
+ - lib/pvdgm-svc-client/resources/sltc_registration.rb
173
+ - lib/pvdgm-svc-client/resources/third_party.rb
174
+ - lib/pvdgm-svc-client/service_mgr_options.rb
175
+ - spec/base_resource_spec.rb
176
+ - spec/service_mgr_options_spec.rb
177
+ - spec/spec_helper.rb
178
+ homepage: http://github.com/GitHubAdmin/pvdgm-svc-client
179
+ licenses:
180
+ - MIT
181
+ metadata: {}
182
+ post_install_message:
183
+ rdoc_options: []
184
+ require_paths:
185
+ - lib
186
+ required_ruby_version: !ruby/object:Gem::Requirement
187
+ requirements:
188
+ - - ">="
189
+ - !ruby/object:Gem::Version
190
+ version: '0'
191
+ required_rubygems_version: !ruby/object:Gem::Requirement
192
+ requirements:
193
+ - - ">="
194
+ - !ruby/object:Gem::Version
195
+ version: '0'
196
+ requirements: []
197
+ rubyforge_project:
198
+ rubygems_version: 2.2.2
199
+ signing_key:
200
+ specification_version: 4
201
+ summary: Command-line client tools to support the Service Engine
202
+ test_files: []