right_api_client 1.5.9 → 1.5.12
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/.gitignore +0 -1
- data/{CHANGELOG.rdoc → CHANGELOG.md} +14 -1
- data/Gemfile +1 -1
- data/{README.rdoc → README.md} +97 -58
- data/config/login.yml.example +9 -4
- data/lib/right_api_client/client.rb +196 -51
- data/lib/right_api_client/errors.rb +30 -0
- data/lib/right_api_client/helper.rb +67 -6
- data/lib/right_api_client/resource.rb +7 -8
- data/lib/right_api_client/resource_detail.rb +14 -10
- data/lib/right_api_client/resources.rb +7 -8
- data/lib/right_api_client/version.rb +1 -1
- data/login_to_client_irb.rb +1 -2
- data/right_api_client.gemspec +17 -17
- data/right_api_client.rconf +1 -1
- data/spec/{audit_entries_spec.rb → functional/audit_entries_spec.rb} +2 -4
- data/spec/{client_spec.rb → functional/client_spec.rb} +85 -12
- data/spec/spec_helper.rb +16 -34
- data/spec/support/mock_spec_helper.rb +36 -0
- data/spec/unit/helper_spec.rb +78 -0
- data/spec/{instance_facing_spec.rb → unit/instance_facing_spec.rb} +6 -7
- data/spec/{resource_detail_spec.rb → unit/resource_detail_spec.rb} +8 -9
- data/spec/unit/resource_spec.rb +24 -0
- data/spec/unit/resources_spec.rb +27 -0
- metadata +49 -46
- data/lib/right_api_client/exceptions.rb +0 -15
- data/spec/resource_spec.rb +0 -25
- data/spec/resources_spec.rb +0 -25
data/spec/spec_helper.rb
CHANGED
@@ -1,42 +1,24 @@
|
|
1
|
-
|
2
|
-
SimpleCov.start if ENV["COVERAGE"]
|
3
|
-
require File.expand_path('../../lib/right_api_client', __FILE__)
|
4
|
-
require 'spec'
|
1
|
+
|
5
2
|
require 'pp'
|
6
3
|
require 'yaml'
|
7
4
|
|
8
|
-
|
9
|
-
config.mock_with :flexmock
|
10
|
-
end
|
5
|
+
require File.expand_path('../../lib/right_api_client', __FILE__)
|
11
6
|
|
12
|
-
module MockSpecHelper
|
13
|
-
def mock_rest_client
|
14
|
-
@api_version = RightApi::Client::API_VERSION
|
15
|
-
@rest_client = RestClient::Resource.new(RightApi::Client::DEFAULT_API_URL)
|
16
|
-
flexmock(RestClient::Resource).should_receive(:new).and_return(@rest_client)
|
17
|
-
@session = flexmock(:cookies => '')
|
18
|
-
@header = {'X_API_VERSION' => @api_version, :cookies => '', :accept => :json}
|
19
|
-
end
|
20
7
|
|
21
|
-
|
22
|
-
mock_rest_client
|
23
|
-
flexmock(@rest_client).should_receive(:post).with(
|
24
|
-
{'email' => 'email', 'password' => 'password', 'account_href' => '/api/accounts/1'},
|
25
|
-
{'X_API_VERSION' => @api_version}, Proc).and_return(@session)
|
26
|
-
flexmock(@rest_client).should_receive(:get).with(@header, Proc).and_return(['', '{}'])
|
27
|
-
@client = RightApi::Client.new(:email => 'email', :password => 'password', :account_id => '1')
|
28
|
-
end
|
8
|
+
RSpec.configure do |config|
|
29
9
|
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
"href": "/api/clouds/1/instances/1",
|
38
|
-
"rel": "self"
|
39
|
-
}]}'])
|
40
|
-
@client = RightApi::Client.new(:instance_token => 'instance_token', :account_id => '1')
|
10
|
+
#
|
11
|
+
# include helpers
|
12
|
+
|
13
|
+
$config = config
|
14
|
+
|
15
|
+
Dir[File.expand_path('../support/**/*.rb', __FILE__)].each do |path|
|
16
|
+
require(path)
|
41
17
|
end
|
18
|
+
|
19
|
+
#
|
20
|
+
# misc
|
21
|
+
|
22
|
+
config.mock_with :flexmock
|
42
23
|
end
|
24
|
+
|
@@ -0,0 +1,36 @@
|
|
1
|
+
|
2
|
+
module MockSpecHelper
|
3
|
+
|
4
|
+
def mock_rest_client
|
5
|
+
@api_version = RightApi::Client::API_VERSION
|
6
|
+
@rest_client = RestClient::Resource.new(RightApi::Client::DEFAULT_API_URL)
|
7
|
+
flexmock(RestClient::Resource).should_receive(:new).and_return(@rest_client)
|
8
|
+
@session = flexmock(:cookies => {})
|
9
|
+
@header = {'X_API_VERSION' => @api_version, :cookies => {}, :accept => :json}
|
10
|
+
end
|
11
|
+
|
12
|
+
def given_user_facing_client
|
13
|
+
mock_rest_client
|
14
|
+
flexmock(@rest_client).should_receive(:post).with(
|
15
|
+
{'email' => 'email', 'password' => 'password', 'account_href' => '/api/accounts/1'},
|
16
|
+
{'X_API_VERSION' => @api_version}, Proc).and_return(@session)
|
17
|
+
flexmock(@rest_client).should_receive(:get).with(@header, Proc).and_return(['', '{}'])
|
18
|
+
@client = RightApi::Client.new(:email => 'email', :password => 'password', :account_id => '1')
|
19
|
+
end
|
20
|
+
|
21
|
+
def given_instance_facing_client
|
22
|
+
mock_rest_client
|
23
|
+
flexmock(@rest_client).should_receive(:post).with(
|
24
|
+
{'instance_token' => 'instance_token', 'account_href' => '/api/accounts/1'},
|
25
|
+
{'X_API_VERSION' => @api_version}, Proc).and_return(@session)
|
26
|
+
flexmock(@rest_client).should_receive(:get).with(@header, Proc).and_return(['', '{"links": [
|
27
|
+
{
|
28
|
+
"href": "/api/clouds/1/instances/1",
|
29
|
+
"rel": "self"
|
30
|
+
}]}'])
|
31
|
+
@client = RightApi::Client.new(:instance_token => 'instance_token', :account_id => '1')
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
$config.include MockSpecHelper
|
36
|
+
|
@@ -0,0 +1,78 @@
|
|
1
|
+
require File.expand_path('../../spec_helper', __FILE__)
|
2
|
+
include RightApi::Helper
|
3
|
+
|
4
|
+
describe RightApi::Helper do
|
5
|
+
|
6
|
+
API_MEDIA_TYPES = %w{audit_entry ip_address process server}
|
7
|
+
|
8
|
+
context "#is_singular?" do
|
9
|
+
API_MEDIA_TYPES.each do |media_type|
|
10
|
+
it "should identify media type #{media_type} as singular" do
|
11
|
+
is_singular?(media_type).should == true
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
context "#fix_array_of_hashes" do
|
17
|
+
it "fixes all the keys that have the value as array of hashes" do
|
18
|
+
res = fix_array_of_hashes(
|
19
|
+
'a' => '1',
|
20
|
+
'b' => [1, 2, 3],
|
21
|
+
'c' => {1 => 2, 3 => 4},
|
22
|
+
'd' => [
|
23
|
+
{5 => 6, 7 => 8},
|
24
|
+
{9 => 10, 11 => 12}
|
25
|
+
]
|
26
|
+
)
|
27
|
+
|
28
|
+
res.should == {
|
29
|
+
'a' => '1',
|
30
|
+
'b' => [1, 2, 3],
|
31
|
+
'c' => {1 => 2, 3 => 4},
|
32
|
+
'd[]' => [
|
33
|
+
{5 => 6, 7 => 8},
|
34
|
+
{9 => 10, 11 => 12}
|
35
|
+
]
|
36
|
+
}
|
37
|
+
|
38
|
+
end
|
39
|
+
|
40
|
+
it "fixes key that have a top-level array of hashes as value" do
|
41
|
+
res = fix_array_of_hashes(
|
42
|
+
'a' => [
|
43
|
+
{1 => 2},
|
44
|
+
{3 => 4}
|
45
|
+
]
|
46
|
+
)
|
47
|
+
|
48
|
+
res.should == {
|
49
|
+
'a[]' => [
|
50
|
+
{1 => 2},
|
51
|
+
{3 => 4}
|
52
|
+
]
|
53
|
+
}
|
54
|
+
end
|
55
|
+
|
56
|
+
it "fixes key that have a nested array of hashes as value" do
|
57
|
+
res = fix_array_of_hashes(
|
58
|
+
'a' => {
|
59
|
+
'b' => [
|
60
|
+
{1 => 2},
|
61
|
+
{3 => 4}
|
62
|
+
]
|
63
|
+
}
|
64
|
+
)
|
65
|
+
|
66
|
+
res.should == {
|
67
|
+
'a' => {
|
68
|
+
'b' => {
|
69
|
+
'' => [
|
70
|
+
{1 => 2},
|
71
|
+
{3 => 4}
|
72
|
+
]
|
73
|
+
}
|
74
|
+
}
|
75
|
+
}
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
@@ -1,25 +1,24 @@
|
|
1
|
-
require File.expand_path('
|
2
|
-
include MockSpecHelper
|
1
|
+
require File.expand_path('../../spec_helper', __FILE__)
|
3
2
|
|
4
3
|
describe RightApi::Client do
|
5
|
-
context "
|
4
|
+
context "given an instance-facing logged in RightScale user" do
|
6
5
|
before(:each) do
|
7
6
|
given_instance_facing_client
|
8
7
|
end
|
9
8
|
|
10
|
-
it "
|
9
|
+
it "has the required methods for the client" do
|
11
10
|
@client.api_methods.sort.collect{|s| s.to_s}.should == ["backups", "get_instance", "live_tasks", "volume_attachments", "volume_snapshots", "volume_types", "volumes"]
|
12
11
|
end
|
13
12
|
|
14
|
-
it "
|
13
|
+
it "returns an instance of the Resource class when user provides an id" do
|
15
14
|
@client.volumes(:id => 1).class.should == RightApi::Resource
|
16
15
|
@client.backups(:id => 1).class.should == RightApi::Resource
|
17
16
|
@client.live_tasks(:id => 1).class.should == RightApi::Resource
|
18
17
|
end
|
19
18
|
|
20
|
-
it "
|
19
|
+
it "returns an instance of the Resources class when user does not provide an id" do
|
21
20
|
@client.volumes.class.should == RightApi::Resources
|
22
21
|
@client.backups.class.should == RightApi::Resources
|
23
22
|
end
|
24
23
|
end
|
25
|
-
end
|
24
|
+
end
|
@@ -1,31 +1,30 @@
|
|
1
|
-
require File.expand_path('
|
2
|
-
include MockSpecHelper
|
1
|
+
require File.expand_path('../../spec_helper', __FILE__)
|
3
2
|
|
4
3
|
describe RightApi::ResourceDetail do
|
5
|
-
context "
|
4
|
+
context "given a logged in RightScale user" do
|
6
5
|
before(:each) do
|
7
6
|
given_user_facing_client
|
8
7
|
end
|
9
8
|
|
10
|
-
it "
|
9
|
+
it "has the required methods for instances of the ResourceDetail class" do
|
11
10
|
resource = RightApi::ResourceDetail.new(@client, 'deployment', '/api/deployments/1', {})
|
12
11
|
resource.api_methods.sort.collect{|s| s.to_s}.should == ["destroy", "links", "show", "update"]
|
13
12
|
end
|
14
13
|
|
15
|
-
it "
|
14
|
+
it "has resource-specific methods for instances of the ResourceDetail class" do
|
16
15
|
resource = RightApi::ResourceDetail.new(@client, 'deployment', '/api/deployments/1',
|
17
16
|
{:attribute1 => 'value1', :attribute2 => 'value2'})
|
18
17
|
resource.api_methods.sort.collect{|s| s.to_s}.should == ["attribute1", "attribute2", "destroy", "links", "show", "update"]
|
19
18
|
end
|
20
19
|
|
21
|
-
it "
|
20
|
+
it "has the links for instances of the ResourceDetail class" do
|
22
21
|
resource = RightApi::ResourceDetail.new(@client, 'deployment', '/api/deployments/1',
|
23
22
|
{'links' => [{'rel' => 'link1', 'href' => 'link1_href'},
|
24
23
|
{'rel' => 'link2', 'href' => 'link2_href'}]})
|
25
24
|
resource.api_methods.sort.collect{|s| s.to_s}.should == ["destroy", "link1", "link2", "links", "show", "update"]
|
26
25
|
end
|
27
26
|
|
28
|
-
it "
|
27
|
+
it "has the actions for instances of the ResourceDetail class" do
|
29
28
|
resource = RightApi::ResourceDetail.new(@client, 'deployment', '/api/deployments/1',
|
30
29
|
{'links' => [{'rel' => 'self', 'href' => 'self'}],
|
31
30
|
'actions' => [{'rel' => 'action1'}, {'rel' => 'action2'}]})
|
@@ -35,14 +34,14 @@ describe RightApi::ResourceDetail do
|
|
35
34
|
resource.action1.should == 'ok'
|
36
35
|
end
|
37
36
|
|
38
|
-
it "
|
37
|
+
it "has live_tasks for the 'instance' resource" do
|
39
38
|
resource = RightApi::ResourceDetail.new(@client, 'instance', '/api/instances/1', {})
|
40
39
|
resource.api_methods.sort.collect{|s| s.to_s}.should == ["destroy", "links", "live_tasks", "show", "update"]
|
41
40
|
flexmock(RightApi::Resource).should_receive(:process).with(@client, 'live_task', '/api/instances/1/live/tasks/1').and_return('ok')
|
42
41
|
resource.live_tasks(:id => '1').should == 'ok'
|
43
42
|
end
|
44
43
|
|
45
|
-
it "
|
44
|
+
it "adds methods for child resources from detailed views" do
|
46
45
|
resource = RightApi::ResourceDetail.new(@client, 'server', '/api/servers/1', {
|
47
46
|
'links' => [
|
48
47
|
{'href' => '/api/servers/1', 'rel' => 'self'},
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require File.expand_path('../../spec_helper', __FILE__)
|
2
|
+
|
3
|
+
describe RightApi::Resource do
|
4
|
+
context "given a logged in RightScale user" do
|
5
|
+
before(:each) do
|
6
|
+
given_user_facing_client
|
7
|
+
end
|
8
|
+
|
9
|
+
it "has the required methods for instances of the Resource class" do
|
10
|
+
resource = RightApi::Resource.process(@client, 'deployment', '/api/deployments/1')
|
11
|
+
resource.api_methods.sort.map(&:to_s).should == %w[ destroy show update ]
|
12
|
+
end
|
13
|
+
|
14
|
+
it "has destroy/show/update for all instances of the Resource class" do
|
15
|
+
resource = RightApi::Resource.process(@client, 'session', '/api/session')
|
16
|
+
resource.api_methods.sort.map(&:to_s).should == %w[ destroy show update ]
|
17
|
+
end
|
18
|
+
|
19
|
+
it "has an array of ResourceDetail instances for index calls" do
|
20
|
+
resources = RightApi::Resource.process(@client, 'deployment', '/api/deployments', [{}])
|
21
|
+
resources.first.class.should == RightApi::ResourceDetail
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require File.expand_path('../../spec_helper', __FILE__)
|
2
|
+
|
3
|
+
describe RightApi::Resources do
|
4
|
+
context "given a logged in RightScale user" do
|
5
|
+
before(:each) do
|
6
|
+
given_user_facing_client
|
7
|
+
end
|
8
|
+
|
9
|
+
it "has the required methods for instances of the Resources class" do
|
10
|
+
resource = RightApi::Resources.new(@client, '/api/deployments', 'deployments')
|
11
|
+
resource.api_methods.sort.collect(&:to_s).should == %w[
|
12
|
+
create index ]
|
13
|
+
end
|
14
|
+
|
15
|
+
it "has index even for instances of the Resources class that do not support it" do
|
16
|
+
resource = RightApi::Resources.new(@client, '/api/tags', 'tags')
|
17
|
+
resource.api_methods.sort.collect(&:to_s).should == %w[
|
18
|
+
by_resource by_tag create index multi_add multi_delete ]
|
19
|
+
end
|
20
|
+
|
21
|
+
it "has resource-specific methods for instances of the Resources class" do
|
22
|
+
resource = RightApi::Resources.new(@client, '/api/backups', 'backups')
|
23
|
+
resource.api_methods.sort.collect(&:to_s).should == %w[
|
24
|
+
cleanup create index ]
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: right_api_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 27
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 5
|
9
|
-
-
|
10
|
-
version: 1.5.
|
9
|
+
- 12
|
10
|
+
version: 1.5.12
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- RightScale, Inc.
|
@@ -15,13 +15,13 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
18
|
+
date: 2013-07-09 00:00:00 -04:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
22
|
name: json
|
23
23
|
prerelease: false
|
24
|
-
|
24
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
25
25
|
none: false
|
26
26
|
requirements:
|
27
27
|
- - ">="
|
@@ -31,27 +31,26 @@ dependencies:
|
|
31
31
|
- 0
|
32
32
|
version: "0"
|
33
33
|
type: :runtime
|
34
|
-
|
34
|
+
requirement: *id001
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
36
|
name: rest-client
|
37
37
|
prerelease: false
|
38
|
-
|
38
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
|
-
- -
|
41
|
+
- - ~>
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
hash:
|
43
|
+
hash: 3
|
44
44
|
segments:
|
45
45
|
- 1
|
46
46
|
- 6
|
47
|
-
|
48
|
-
version: 1.6.7
|
47
|
+
version: "1.6"
|
49
48
|
type: :runtime
|
50
|
-
|
49
|
+
requirement: *id002
|
51
50
|
- !ruby/object:Gem::Dependency
|
52
51
|
name: rake
|
53
52
|
prerelease: false
|
54
|
-
|
53
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
55
54
|
none: false
|
56
55
|
requirements:
|
57
56
|
- - "="
|
@@ -63,27 +62,27 @@ dependencies:
|
|
63
62
|
- 7
|
64
63
|
version: 0.8.7
|
65
64
|
type: :development
|
66
|
-
|
65
|
+
requirement: *id003
|
67
66
|
- !ruby/object:Gem::Dependency
|
68
67
|
name: rspec
|
69
68
|
prerelease: false
|
70
|
-
|
69
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
71
70
|
none: false
|
72
71
|
requirements:
|
73
72
|
- - "="
|
74
73
|
- !ruby/object:Gem::Version
|
75
|
-
hash:
|
74
|
+
hash: 43
|
76
75
|
segments:
|
77
|
-
-
|
78
|
-
-
|
76
|
+
- 2
|
77
|
+
- 9
|
79
78
|
- 0
|
80
|
-
version:
|
79
|
+
version: 2.9.0
|
81
80
|
type: :development
|
82
|
-
|
81
|
+
requirement: *id004
|
83
82
|
- !ruby/object:Gem::Dependency
|
84
83
|
name: flexmock
|
85
84
|
prerelease: false
|
86
|
-
|
85
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
87
86
|
none: false
|
88
87
|
requirements:
|
89
88
|
- - "="
|
@@ -95,11 +94,11 @@ dependencies:
|
|
95
94
|
- 7
|
96
95
|
version: 0.8.7
|
97
96
|
type: :development
|
98
|
-
|
97
|
+
requirement: *id005
|
99
98
|
- !ruby/object:Gem::Dependency
|
100
99
|
name: simplecov
|
101
100
|
prerelease: false
|
102
|
-
|
101
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
103
102
|
none: false
|
104
103
|
requirements:
|
105
104
|
- - "="
|
@@ -111,11 +110,11 @@ dependencies:
|
|
111
110
|
- 2
|
112
111
|
version: 0.4.2
|
113
112
|
type: :development
|
114
|
-
|
113
|
+
requirement: *id006
|
115
114
|
- !ruby/object:Gem::Dependency
|
116
115
|
name: bundler
|
117
116
|
prerelease: false
|
118
|
-
|
117
|
+
version_requirements: &id007 !ruby/object:Gem::Requirement
|
119
118
|
none: false
|
120
119
|
requirements:
|
121
120
|
- - ">="
|
@@ -125,11 +124,11 @@ dependencies:
|
|
125
124
|
- 0
|
126
125
|
version: "0"
|
127
126
|
type: :development
|
128
|
-
|
127
|
+
requirement: *id007
|
129
128
|
description: "\n\
|
130
|
-
The right_api_client gem simplifies the use of RightScale's MultiCloud API
|
131
|
-
a simple object model of the API resources, and handles all of the
|
132
|
-
in making HTTP calls and translating their responses.\n "
|
129
|
+
The right_api_client gem simplifies the use of RightScale's MultiCloud API.\n\
|
130
|
+
It provides a simple object model of the API resources, and handles all of the\n\
|
131
|
+
fine details involved in making HTTP calls and translating their responses.\n "
|
133
132
|
email:
|
134
133
|
- rubygems@rightscale.com
|
135
134
|
executables: []
|
@@ -140,15 +139,15 @@ extra_rdoc_files: []
|
|
140
139
|
|
141
140
|
files:
|
142
141
|
- .gitignore
|
143
|
-
- CHANGELOG.
|
142
|
+
- CHANGELOG.md
|
144
143
|
- Gemfile
|
145
144
|
- LICENSE.txt
|
146
|
-
- README.
|
145
|
+
- README.md
|
147
146
|
- Rakefile
|
148
147
|
- config/login.yml.example
|
149
148
|
- lib/right_api_client.rb
|
150
149
|
- lib/right_api_client/client.rb
|
151
|
-
- lib/right_api_client/
|
150
|
+
- lib/right_api_client/errors.rb
|
152
151
|
- lib/right_api_client/helper.rb
|
153
152
|
- lib/right_api_client/resource.rb
|
154
153
|
- lib/right_api_client/resource_detail.rb
|
@@ -157,13 +156,15 @@ files:
|
|
157
156
|
- login_to_client_irb.rb
|
158
157
|
- right_api_client.gemspec
|
159
158
|
- right_api_client.rconf
|
160
|
-
- spec/audit_entries_spec.rb
|
161
|
-
- spec/client_spec.rb
|
162
|
-
- spec/instance_facing_spec.rb
|
163
|
-
- spec/resource_detail_spec.rb
|
164
|
-
- spec/resource_spec.rb
|
165
|
-
- spec/resources_spec.rb
|
159
|
+
- spec/functional/audit_entries_spec.rb
|
160
|
+
- spec/functional/client_spec.rb
|
166
161
|
- spec/spec_helper.rb
|
162
|
+
- spec/support/mock_spec_helper.rb
|
163
|
+
- spec/unit/helper_spec.rb
|
164
|
+
- spec/unit/instance_facing_spec.rb
|
165
|
+
- spec/unit/resource_detail_spec.rb
|
166
|
+
- spec/unit/resource_spec.rb
|
167
|
+
- spec/unit/resources_spec.rb
|
167
168
|
has_rdoc: true
|
168
169
|
homepage: https://github.com/rightscale/right_api_client
|
169
170
|
licenses: []
|
@@ -194,16 +195,18 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
194
195
|
requirements: []
|
195
196
|
|
196
197
|
rubyforge_project:
|
197
|
-
rubygems_version: 1.
|
198
|
+
rubygems_version: 1.6.2
|
198
199
|
signing_key:
|
199
200
|
specification_version: 3
|
200
201
|
summary: RightScale MultiCloud API HTTP Client
|
201
202
|
test_files:
|
202
203
|
- config/login.yml.example
|
203
|
-
- spec/audit_entries_spec.rb
|
204
|
-
- spec/client_spec.rb
|
205
|
-
- spec/instance_facing_spec.rb
|
206
|
-
- spec/resource_detail_spec.rb
|
207
|
-
- spec/resource_spec.rb
|
208
|
-
- spec/resources_spec.rb
|
204
|
+
- spec/functional/audit_entries_spec.rb
|
205
|
+
- spec/functional/client_spec.rb
|
209
206
|
- spec/spec_helper.rb
|
207
|
+
- spec/support/mock_spec_helper.rb
|
208
|
+
- spec/unit/helper_spec.rb
|
209
|
+
- spec/unit/instance_facing_spec.rb
|
210
|
+
- spec/unit/resource_detail_spec.rb
|
211
|
+
- spec/unit/resource_spec.rb
|
212
|
+
- spec/unit/resources_spec.rb
|