ruroku 0.0.1 → 0.0.2
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/.travis.yml +5 -0
- data/CHANGELOG.md +12 -0
- data/Gemfile +9 -0
- data/README.md +180 -48
- data/Rakefile +7 -1
- data/TODO.md +0 -4
- data/lib/ruroku.rb +9 -1
- data/lib/ruroku/addon.rb +8 -10
- data/lib/ruroku/addon_set.rb +4 -1
- data/lib/ruroku/api.rb +20 -1
- data/lib/ruroku/app.rb +29 -20
- data/lib/ruroku/app_set.rb +13 -0
- data/lib/ruroku/base.rb +20 -3
- data/lib/ruroku/collaborator.rb +5 -2
- data/lib/ruroku/collaborator_set.rb +4 -1
- data/lib/ruroku/config_var.rb +9 -2
- data/lib/ruroku/config_var_set.rb +5 -2
- data/lib/ruroku/domain.rb +8 -9
- data/lib/ruroku/domain_set.rb +4 -1
- data/lib/ruroku/key.rb +8 -0
- data/lib/ruroku/key_set.rb +17 -0
- data/lib/ruroku/nested_base.rb +3 -2
- data/lib/ruroku/nested_resource_set.rb +28 -0
- data/lib/ruroku/process.rb +14 -11
- data/lib/ruroku/process_set.rb +11 -28
- data/lib/ruroku/release.rb +9 -5
- data/lib/ruroku/release_set.rb +4 -1
- data/lib/ruroku/resource_set.rb +61 -6
- data/lib/ruroku/stack.rb +10 -0
- data/lib/ruroku/stack_set.rb +13 -0
- data/lib/ruroku/user.rb +15 -0
- data/lib/ruroku/version.rb +1 -1
- data/ruroku.gemspec +4 -5
- data/spec/helpers/addon.rb +12 -0
- data/spec/helpers/app.rb +18 -0
- data/spec/helpers/collaborator.rb +11 -0
- data/spec/helpers/config_var.rb +11 -0
- data/spec/helpers/domain.rb +13 -0
- data/spec/helpers/keys.rb +12 -0
- data/spec/helpers/process.rb +15 -0
- data/spec/helpers/release.rb +15 -0
- data/spec/helpers/stack.rb +11 -0
- data/spec/helpers/user.rb +15 -0
- data/spec/ruroku/addon_set_spec.rb +29 -0
- data/spec/ruroku/api_spec.rb +55 -0
- data/spec/ruroku/app_set_spec.rb +15 -0
- data/spec/ruroku/app_spec.rb +113 -0
- data/spec/ruroku/collaborator_set_spec.rb +22 -0
- data/spec/ruroku/domain_set_spec.rb +22 -0
- data/spec/ruroku/key_set_spec.rb +29 -0
- data/spec/ruroku/nested_resource_set_spec.rb +27 -0
- data/spec/ruroku/process_set_spec.rb +36 -0
- data/spec/ruroku/release_set_spec.rb +15 -0
- data/spec/ruroku/resource_set_spec.rb +26 -0
- data/spec/ruroku/stack_set_spec.rb +15 -0
- data/spec/spec_helper.rb +72 -0
- metadata +70 -15
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Ruroku::DomainSet do
|
4
|
+
before do
|
5
|
+
@set = Ruroku::DomainSet.new stubbed_app
|
6
|
+
@set_api = @set.api
|
7
|
+
end
|
8
|
+
|
9
|
+
describe '#add' do
|
10
|
+
it 'maps to post_domain api method' do
|
11
|
+
@set_api.should_receive :post_domains
|
12
|
+
@set.add 'example.com'
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe '#delete' do
|
17
|
+
it 'maps to delete_domain api method' do
|
18
|
+
@set_api.should_receive :delete_domain
|
19
|
+
@set.delete 'example.com'
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Ruroku::KeySet do
|
4
|
+
before do
|
5
|
+
@set = Ruroku::KeySet.new stubbed_api
|
6
|
+
@set_api = @set.api
|
7
|
+
end
|
8
|
+
|
9
|
+
describe '#add' do
|
10
|
+
it 'maps to post_key api method' do
|
11
|
+
@set_api.should_receive :post_key
|
12
|
+
@set.add 'key content'
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe '#delete' do
|
17
|
+
it 'maps to delete_key api method' do
|
18
|
+
@set_api.should_receive :delete_key
|
19
|
+
@set.delete 'example@me.com'
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
describe '#delete_all' do
|
24
|
+
it 'maps to delete_keys api method' do
|
25
|
+
@set_api.should_receive :delete_keys
|
26
|
+
@set.delete_all
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Ruroku::NestedResourceSet do
|
4
|
+
describe '.map_api' do
|
5
|
+
before do
|
6
|
+
class MyResource < Ruroku::Base; end
|
7
|
+
class MyNestedResourceSet < Ruroku::NestedResourceSet
|
8
|
+
resource_class MyResource
|
9
|
+
collection_api_selector :query_collection
|
10
|
+
|
11
|
+
map_api my_method: :api_mapping
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'defines the method' do
|
16
|
+
MyNestedResourceSet.new(stubbed_app).respond_to?(:my_method).should be_true
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'calls api mapping' do
|
20
|
+
app = stubbed_app
|
21
|
+
app.api.should_receive(:api_mapping).with app.name, 'param'
|
22
|
+
|
23
|
+
my_nested_resource_set = MyNestedResourceSet.new app
|
24
|
+
my_nested_resource_set.my_method 'param'
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Ruroku::ProcessSet do
|
4
|
+
before do
|
5
|
+
@set = Ruroku::ProcessSet.new stubbed_app
|
6
|
+
@set_api = @set.api
|
7
|
+
end
|
8
|
+
|
9
|
+
describe '#run' do
|
10
|
+
it 'maps to post_ps api method' do
|
11
|
+
@set_api.should_receive(:post_ps).with @set.app.name, 'rake task'
|
12
|
+
@set.run 'rake task'
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe '#restart' do
|
17
|
+
it 'maps to post_ps_restart api method' do
|
18
|
+
@set_api.should_receive :post_ps_restart
|
19
|
+
@set.restart
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
describe '#scale' do
|
24
|
+
it 'maps to ps_scale api method' do
|
25
|
+
@set_api.should_receive(:ps_scale).with @set.app.name, 'worker', 10
|
26
|
+
@set.scale 'worker', 10
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
describe '#stop' do
|
31
|
+
it 'maps to post_ps_stop api method' do
|
32
|
+
@set_api.should_receive(:post_ps_stop).with @set.app.name, 'ps' => 'web.1'
|
33
|
+
@set.stop 'ps' => 'web.1'
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Ruroku::ReleaseSet do
|
4
|
+
before do
|
5
|
+
@set = Ruroku::ReleaseSet.new stubbed_app
|
6
|
+
@set_api = @set.api
|
7
|
+
end
|
8
|
+
|
9
|
+
describe '#rollback' do
|
10
|
+
it 'maps to post_release api method' do
|
11
|
+
@set_api.should_receive :post_release
|
12
|
+
@set.rollback 'v1'
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Ruroku::ResourceSet do
|
4
|
+
describe '.map_api' do
|
5
|
+
before do
|
6
|
+
class MyResource < Ruroku::Base; end
|
7
|
+
class MyResourceSet < Ruroku::ResourceSet
|
8
|
+
resource_class MyResource
|
9
|
+
collection_api_selector :query_collection
|
10
|
+
map_api my_method: :api_mapping
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'defines the method' do
|
15
|
+
MyResourceSet.new(stubbed_api).respond_to?(:my_method).should be_true
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'calls api mapping' do
|
19
|
+
api_object = stubbed_api
|
20
|
+
api_object.should_receive(:api_mapping).with 'param'
|
21
|
+
|
22
|
+
my_resource_set = MyResourceSet.new api_object
|
23
|
+
my_resource_set.my_method 'param'
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Ruroku::StackSet do
|
4
|
+
before do
|
5
|
+
@set = Ruroku::StackSet.new stubbed_app
|
6
|
+
@set_api = @set.api
|
7
|
+
end
|
8
|
+
|
9
|
+
describe '#migrate' do
|
10
|
+
it 'maps to put_stack api method' do
|
11
|
+
@set_api.should_receive :put_stack
|
12
|
+
@set.migrate 'cedar'
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,72 @@
|
|
1
|
+
require 'bundler/setup'
|
2
|
+
|
3
|
+
require 'ruroku'
|
4
|
+
|
5
|
+
require 'active_support/concern'
|
6
|
+
require 'helpers/app'
|
7
|
+
require 'helpers/keys'
|
8
|
+
require 'helpers/user'
|
9
|
+
require 'helpers/addon'
|
10
|
+
require 'helpers/collaborator'
|
11
|
+
require 'helpers/config_var'
|
12
|
+
require 'helpers/domain'
|
13
|
+
require 'helpers/process'
|
14
|
+
require 'helpers/release'
|
15
|
+
require 'helpers/stack'
|
16
|
+
|
17
|
+
module Helpers
|
18
|
+
extend ActiveSupport::Concern
|
19
|
+
|
20
|
+
included do
|
21
|
+
let(:api) { Ruroku::API.new api_key: 'test', mock: true }
|
22
|
+
let(:heroku) { api.heroku_api }
|
23
|
+
|
24
|
+
def stub_api(heroku)
|
25
|
+
heroku.stub(:get_apps).and_return apps_response
|
26
|
+
heroku.stub(:get_app).and_return app_response
|
27
|
+
heroku.stub(:get_keys).and_return keys_response
|
28
|
+
heroku.stub(:get_user).and_return user_response
|
29
|
+
|
30
|
+
heroku.stub(:get_addons).and_return addons_response
|
31
|
+
heroku.stub(:get_collaborators).and_return collaborators_response
|
32
|
+
heroku.stub(:get_config_vars).and_return config_vars_response
|
33
|
+
heroku.stub(:get_domains).and_return domains_response
|
34
|
+
heroku.stub(:get_ps).and_return processes_response
|
35
|
+
heroku.stub(:get_releases).and_return releases_response
|
36
|
+
heroku.stub(:get_stack).and_return stacks_response
|
37
|
+
|
38
|
+
heroku
|
39
|
+
end
|
40
|
+
|
41
|
+
before do
|
42
|
+
api.heroku_api = stubbed_api
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def stubbed_response(body)
|
47
|
+
response = double 'response'
|
48
|
+
response.stub(:body).and_return body
|
49
|
+
|
50
|
+
response
|
51
|
+
end
|
52
|
+
|
53
|
+
def stubbed_api
|
54
|
+
api = stub_api double('api')
|
55
|
+
api.stub(:query_collection).and_return stubbed_response([])
|
56
|
+
|
57
|
+
api
|
58
|
+
end
|
59
|
+
|
60
|
+
def stubbed_app
|
61
|
+
app = double 'app'
|
62
|
+
app.stub(:api).and_return stubbed_api
|
63
|
+
app.stub(:name).and_return 'The App'
|
64
|
+
app.stub(:keys).and_return Ruroku::Key.new(app, {})
|
65
|
+
|
66
|
+
app
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
RSpec.configure do |config|
|
71
|
+
config.include Helpers
|
72
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruroku
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-06-
|
12
|
+
date: 2012-06-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: heroku-api
|
@@ -18,7 +18,7 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 0.2
|
21
|
+
version: '0.2'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -26,7 +26,7 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ~>
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 0.2
|
29
|
+
version: '0.2'
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: activesupport
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,22 +44,22 @@ dependencies:
|
|
44
44
|
- !ruby/object:Gem::Version
|
45
45
|
version: 3.2.5
|
46
46
|
- !ruby/object:Gem::Dependency
|
47
|
-
name:
|
47
|
+
name: virtus
|
48
48
|
requirement: !ruby/object:Gem::Requirement
|
49
49
|
none: false
|
50
50
|
requirements:
|
51
|
-
- -
|
51
|
+
- - ~>
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: '0'
|
54
|
-
type: :
|
53
|
+
version: '0.5'
|
54
|
+
type: :runtime
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
57
|
none: false
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ~>
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
description: Ruby client for the Heroku API
|
61
|
+
version: '0.5'
|
62
|
+
description: The better Ruby client for the Heroku API
|
63
63
|
email:
|
64
64
|
- me@goshakkk.name
|
65
65
|
executables: []
|
@@ -68,6 +68,8 @@ extra_rdoc_files: []
|
|
68
68
|
files:
|
69
69
|
- .gitignore
|
70
70
|
- .rspec
|
71
|
+
- .travis.yml
|
72
|
+
- CHANGELOG.md
|
71
73
|
- Gemfile
|
72
74
|
- LICENSE
|
73
75
|
- README.md
|
@@ -78,6 +80,7 @@ files:
|
|
78
80
|
- lib/ruroku/addon_set.rb
|
79
81
|
- lib/ruroku/api.rb
|
80
82
|
- lib/ruroku/app.rb
|
83
|
+
- lib/ruroku/app_set.rb
|
81
84
|
- lib/ruroku/base.rb
|
82
85
|
- lib/ruroku/collaborator.rb
|
83
86
|
- lib/ruroku/collaborator_set.rb
|
@@ -85,14 +88,43 @@ files:
|
|
85
88
|
- lib/ruroku/config_var_set.rb
|
86
89
|
- lib/ruroku/domain.rb
|
87
90
|
- lib/ruroku/domain_set.rb
|
91
|
+
- lib/ruroku/key.rb
|
92
|
+
- lib/ruroku/key_set.rb
|
88
93
|
- lib/ruroku/nested_base.rb
|
94
|
+
- lib/ruroku/nested_resource_set.rb
|
89
95
|
- lib/ruroku/process.rb
|
90
96
|
- lib/ruroku/process_set.rb
|
91
97
|
- lib/ruroku/release.rb
|
92
98
|
- lib/ruroku/release_set.rb
|
93
99
|
- lib/ruroku/resource_set.rb
|
100
|
+
- lib/ruroku/stack.rb
|
101
|
+
- lib/ruroku/stack_set.rb
|
102
|
+
- lib/ruroku/user.rb
|
94
103
|
- lib/ruroku/version.rb
|
95
104
|
- ruroku.gemspec
|
105
|
+
- spec/helpers/addon.rb
|
106
|
+
- spec/helpers/app.rb
|
107
|
+
- spec/helpers/collaborator.rb
|
108
|
+
- spec/helpers/config_var.rb
|
109
|
+
- spec/helpers/domain.rb
|
110
|
+
- spec/helpers/keys.rb
|
111
|
+
- spec/helpers/process.rb
|
112
|
+
- spec/helpers/release.rb
|
113
|
+
- spec/helpers/stack.rb
|
114
|
+
- spec/helpers/user.rb
|
115
|
+
- spec/ruroku/addon_set_spec.rb
|
116
|
+
- spec/ruroku/api_spec.rb
|
117
|
+
- spec/ruroku/app_set_spec.rb
|
118
|
+
- spec/ruroku/app_spec.rb
|
119
|
+
- spec/ruroku/collaborator_set_spec.rb
|
120
|
+
- spec/ruroku/domain_set_spec.rb
|
121
|
+
- spec/ruroku/key_set_spec.rb
|
122
|
+
- spec/ruroku/nested_resource_set_spec.rb
|
123
|
+
- spec/ruroku/process_set_spec.rb
|
124
|
+
- spec/ruroku/release_set_spec.rb
|
125
|
+
- spec/ruroku/resource_set_spec.rb
|
126
|
+
- spec/ruroku/stack_set_spec.rb
|
127
|
+
- spec/spec_helper.rb
|
96
128
|
homepage: ''
|
97
129
|
licenses: []
|
98
130
|
post_install_message:
|
@@ -107,7 +139,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
107
139
|
version: '0'
|
108
140
|
segments:
|
109
141
|
- 0
|
110
|
-
hash:
|
142
|
+
hash: -1851789232377884994
|
111
143
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
112
144
|
none: false
|
113
145
|
requirements:
|
@@ -116,11 +148,34 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
116
148
|
version: '0'
|
117
149
|
segments:
|
118
150
|
- 0
|
119
|
-
hash:
|
151
|
+
hash: -1851789232377884994
|
120
152
|
requirements: []
|
121
153
|
rubyforge_project:
|
122
154
|
rubygems_version: 1.8.23
|
123
155
|
signing_key:
|
124
156
|
specification_version: 3
|
125
|
-
summary: Ruby client for the Heroku API
|
126
|
-
test_files:
|
157
|
+
summary: The better Ruby client for the Heroku API
|
158
|
+
test_files:
|
159
|
+
- spec/helpers/addon.rb
|
160
|
+
- spec/helpers/app.rb
|
161
|
+
- spec/helpers/collaborator.rb
|
162
|
+
- spec/helpers/config_var.rb
|
163
|
+
- spec/helpers/domain.rb
|
164
|
+
- spec/helpers/keys.rb
|
165
|
+
- spec/helpers/process.rb
|
166
|
+
- spec/helpers/release.rb
|
167
|
+
- spec/helpers/stack.rb
|
168
|
+
- spec/helpers/user.rb
|
169
|
+
- spec/ruroku/addon_set_spec.rb
|
170
|
+
- spec/ruroku/api_spec.rb
|
171
|
+
- spec/ruroku/app_set_spec.rb
|
172
|
+
- spec/ruroku/app_spec.rb
|
173
|
+
- spec/ruroku/collaborator_set_spec.rb
|
174
|
+
- spec/ruroku/domain_set_spec.rb
|
175
|
+
- spec/ruroku/key_set_spec.rb
|
176
|
+
- spec/ruroku/nested_resource_set_spec.rb
|
177
|
+
- spec/ruroku/process_set_spec.rb
|
178
|
+
- spec/ruroku/release_set_spec.rb
|
179
|
+
- spec/ruroku/resource_set_spec.rb
|
180
|
+
- spec/ruroku/stack_set_spec.rb
|
181
|
+
- spec/spec_helper.rb
|