aptible-api 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/aptible-api.gemspec +1 -1
- data/lib/aptible/api/resource.rb +10 -2
- data/spec/aptible/api/resource_spec.rb +25 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bf5bb691c313660234c7a06c17826cd33df75f9d
|
4
|
+
data.tar.gz: e44dff1c1e3a995f59f4156724861a5ff092fc08
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4c0d90be3dde38ed35651f47c26e230c8c90f009cd61b1f6feb513c5518573be7207b9869e826466faf1c891c29d587554aa58ed9fab1346a13f3e374119313a
|
7
|
+
data.tar.gz: 2902b720d1751424f4cb2daa540b05e09217fe78d5fde6b20f37fe43f94f762478b095eda3b243ccdf2520a138d1a9c566162bd8c9e282f788512edd350b1842
|
data/aptible-api.gemspec
CHANGED
@@ -6,7 +6,7 @@ require 'English'
|
|
6
6
|
|
7
7
|
Gem::Specification.new do |spec|
|
8
8
|
spec.name = 'aptible-api'
|
9
|
-
spec.version = '0.2.
|
9
|
+
spec.version = '0.2.1'
|
10
10
|
spec.authors = ['Frank Macreery']
|
11
11
|
spec.email = ['frank@macreery.com']
|
12
12
|
spec.description = %q{Ruby client for api.aptible.com}
|
data/lib/aptible/api/resource.rb
CHANGED
@@ -2,10 +2,18 @@ require 'active_support/inflector'
|
|
2
2
|
|
3
3
|
module Aptible
|
4
4
|
class Api::Resource < Api
|
5
|
+
def self.basename
|
6
|
+
name.split('::').last.downcase.pluralize
|
7
|
+
end
|
8
|
+
|
5
9
|
def self.collection_url
|
6
|
-
basename = name.split('::').last
|
7
10
|
config = Aptible::Api.configuration
|
8
|
-
config.root_url.chomp('/') + "/#{basename
|
11
|
+
config.root_url.chomp('/') + "/#{basename}"
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.all(options = {})
|
15
|
+
resource = new(options).find_by_url(collection_url)
|
16
|
+
resource.send(basename).entries
|
9
17
|
end
|
10
18
|
|
11
19
|
def self.find(id)
|
@@ -15,4 +15,29 @@ describe Aptible::Api::Resource do
|
|
15
15
|
Aptible::Api::Disk.find(42)
|
16
16
|
end
|
17
17
|
end
|
18
|
+
|
19
|
+
describe '.all' do
|
20
|
+
let(:app) { double Aptible::Api::App }
|
21
|
+
let(:collection) { double Aptible::Api }
|
22
|
+
|
23
|
+
before do
|
24
|
+
collection.stub(:apps) { [app] }
|
25
|
+
Aptible::Api::App.any_instance.stub(:find_by_url) { collection }
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'should be an array' do
|
29
|
+
expect(Aptible::Api::App.all).to be_a Array
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'should return the root collection' do
|
33
|
+
expect(Aptible::Api::App.all).to eq [app]
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'should pass options to the HyperResource initializer' do
|
37
|
+
klass = Aptible::Api::App
|
38
|
+
options = { token: 'token' }
|
39
|
+
expect(klass).to receive(:new).with(options).and_return klass.new
|
40
|
+
Aptible::Api::App.all(options)
|
41
|
+
end
|
42
|
+
end
|
18
43
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aptible-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Frank Macreery
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-03-
|
11
|
+
date: 2014-03-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gem_config
|