restpack_core_client 0.2.4 → 0.2.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/README.md +1 -1
- data/lib/restpack_core_client/api.rb +18 -18
- data/lib/restpack_core_client/version.rb +1 -1
- data/lib/restpack_core_client.rb +6 -0
- data/restpack_core_client.gemspec +1 -0
- data/spec/api_spec.rb +80 -21
- data/spec/fixtures/{get_channel.json → channels/2.json} +90 -39
- data/spec/fixtures/configurations/root.json +70 -0
- data/spec/fixtures/domains/search/match.json +40 -0
- data/spec/fixtures/domains/search/no-match.json +30 -0
- data/spec/spec_helper.rb +3 -0
- metadata +24 -4
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ZmJlZWFiYjNlNWZiNjkxYmYwNjhjMDc0MTQ3M2JjZTE4ZDgzMGFiZg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NzM4MjVlNGU2Yjg5ZTNlMmZmMzliM2UzZjMxOTFhZDYxYzAyMDg5Mg==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ZTMzZDRiMDhiNWY3MzQwMTY4YWI2OWYwNzMyYjkwN2JmMTEwYmVhYzBmMzEw
|
10
|
+
MGUzOTAxMjEyMzM4ODIxMTNkZDQwMzc0NjdkMzFkZmJhNGQ4ZjBiMDljMGJk
|
11
|
+
MzBiNTVhMDY2NDFiMzAxNDBiYjJmYzBjYzg2ZTc2ZGI1ZDRiNzg=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MGI3YzJjZGEzOTNhN2EyMTY3YTYyYjNlYmI4NDAwZGQyOTM4NjY4ZjliZjli
|
14
|
+
ZmU2ZGFlMTA3NTRjY2NlNzkxZmI1ZGY5YzY0MTA4NTgzYzE3OTIwZGI5MzIx
|
15
|
+
MWQ0MWY2NGExYjNiMzBlYTNlNmI4YmMwNTMwMjEyYzYzNjU5NWM=
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# RestPack core.client [![Build Status](https://travis-ci.org/RestPack/restpack_core_client.png?branch=master)](https://travis-ci.org/RestPack/restpack_core_client) [![Dependency Status](https://gemnasium.com/RestPack/
|
1
|
+
# RestPack core.client [![Build Status](https://travis-ci.org/RestPack/restpack_core_client.png?branch=master)](https://travis-ci.org/RestPack/restpack_core_client) [![Dependency Status](https://gemnasium.com/RestPack/restpack_core_client.png)](https://gemnasium.com/RestPack/restpack_core_client)
|
2
2
|
|
3
3
|
A client gem for restpack_core_service
|
4
4
|
|
@@ -13,34 +13,34 @@ module RestPack
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def get_channel(id)
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
16
|
+
begin
|
17
|
+
response = get("/api/v1/channels/#{id}.json?includes=applications,domains,configurations")
|
18
|
+
hydrate_channel(response)
|
19
|
+
rescue RestClient::ResourceNotFound
|
20
|
+
raise RestPack::ResourceNotFound, "count not find channel id [#{id}]"
|
21
|
+
end
|
20
22
|
end
|
21
23
|
|
22
24
|
def get_domain(host)
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
result[:domains].first
|
25
|
+
response = get("/api/v1/domains/search.json?host=#{host}")
|
26
|
+
if response[:domains].empty?
|
27
|
+
raise RestPack::ResourceNotFound, "host is not configured: [#{host}]"
|
28
|
+
end
|
29
|
+
response[:domains].first
|
29
30
|
end
|
30
31
|
|
31
32
|
def root_configurations
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
configurations = []
|
36
|
-
data[:configurations].each do |configuration_data|
|
37
|
-
configurations << Configuration.new(configuration_data)
|
38
|
-
end
|
39
|
-
configurations
|
33
|
+
response = get("/api/v1/configurations/root.json")
|
34
|
+
response[:configurations].map { |c| Configuration.new(c) }
|
40
35
|
end
|
41
36
|
|
42
37
|
private
|
43
38
|
|
39
|
+
def get(path)
|
40
|
+
json = RestClient.get("http://:#{@access_key}@#{@domain}#{path}")
|
41
|
+
Yajl::Parser.parse(json, :symbolize_keys => true)
|
42
|
+
end
|
43
|
+
|
44
44
|
def hydrate_channel(channel_response)
|
45
45
|
channel = Channel.new(channel_response[:channels].first)
|
46
46
|
|
data/lib/restpack_core_client.rb
CHANGED
data/spec/api_spec.rb
CHANGED
@@ -1,48 +1,107 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe RestPack::Core::Client::API do
|
4
|
-
let(:api) { RestPack::Core::Client::API.new('domain', 'access_key') }
|
4
|
+
let(:api) { RestPack::Core::Client::API.new('domain.io', 'access_key') }
|
5
5
|
|
6
6
|
describe '.get_channel' do
|
7
|
+
let(:json) { File.read("#{Bundler.root}/spec/fixtures/channels/2.json") }
|
8
|
+
let(:status) { 200 }
|
9
|
+
let(:channel) { api.get_channel(2) }
|
10
|
+
|
7
11
|
before do
|
8
|
-
|
9
|
-
|
12
|
+
url = "http://:access_key@domain.io/api/v1/channels/2.json?includes=applications,domains,configurations"
|
13
|
+
stub_request(:get, url).to_return(:body => json, :status => status)
|
10
14
|
end
|
11
|
-
context 'the returned channel' do
|
12
|
-
let(:channel) { api.get_channel(31) }
|
13
15
|
|
16
|
+
context 'a valid channel' do
|
14
17
|
it 'has correct attributes' do
|
15
|
-
channel.id.should ==
|
16
|
-
channel.name.should == '
|
17
|
-
channel.href.should == '/api/v1/channels/
|
18
|
+
channel.id.should == 2
|
19
|
+
channel.name.should == 'Tech Jobs'
|
20
|
+
channel.href.should == '/api/v1/channels/2.json'
|
18
21
|
end
|
19
22
|
|
20
23
|
it 'has applications' do
|
21
|
-
channel.applications.length.should ==
|
22
|
-
channel.applications[0].id.should ==
|
23
|
-
channel.applications[0].name.should == '
|
24
|
-
channel.applications[0].href.should == '/api/v1/applications/
|
24
|
+
channel.applications.length.should == 2
|
25
|
+
channel.applications[0].id.should == 2
|
26
|
+
channel.applications[0].name.should == 'Ruby Jobs'
|
27
|
+
channel.applications[0].href.should == '/api/v1/applications/2.json'
|
25
28
|
channel.applications[0].channel.should == channel
|
26
29
|
end
|
27
30
|
|
28
31
|
it 'has domains' do
|
29
|
-
channel.domains.length.should ==
|
30
|
-
channel.domains[0].id.should ==
|
31
|
-
channel.domains[0].host.should == '
|
32
|
-
channel.domains[0].href.should == '/api/v1/domains/
|
32
|
+
channel.domains.length.should == 4
|
33
|
+
channel.domains[0].id.should == 4
|
34
|
+
channel.domains[0].host.should == 'www.rubyjobs.io'
|
35
|
+
channel.domains[0].href.should == '/api/v1/domains/4.json'
|
33
36
|
channel.domains[0].channel.should == channel
|
34
37
|
channel.domains[0].application.should_not == nil
|
35
38
|
end
|
36
39
|
|
37
40
|
it 'has configurations' do
|
38
|
-
channel.configurations.length.should ==
|
39
|
-
channel.configurations[0].id.should ==
|
41
|
+
channel.configurations.length.should == 4
|
42
|
+
channel.configurations[0].id.should == 4
|
40
43
|
channel.configurations[0].key.should == 'domains'
|
41
44
|
channel.configurations[0].value.should == {
|
42
|
-
|
43
|
-
|
45
|
+
home: "www.rubyjobs.io:8080",
|
46
|
+
auth: "auth.rubyjobs.io:8081"
|
44
47
|
}
|
45
|
-
channel.configurations[0].href.should == '/api/v1/configurations/
|
48
|
+
channel.configurations[0].href.should == '/api/v1/configurations/4.json'
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
context 'a 404' do
|
53
|
+
let(:status) { 404 }
|
54
|
+
it 'raises an exception' do
|
55
|
+
expect do
|
56
|
+
api.get_channel(2)
|
57
|
+
end.to raise_error(RestPack::ResourceNotFound, 'count not find channel id [2]')
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
describe '.get_domain' do
|
63
|
+
context 'a valid domain' do
|
64
|
+
let(:json) { File.read("#{Bundler.root}/spec/fixtures/domains/search/match.json") }
|
65
|
+
let(:domain) { api.get_domain('www.rubyjobs.io') }
|
66
|
+
before do
|
67
|
+
url = "http://:access_key@domain.io/api/v1/domains/search.json?host=www.rubyjobs.io"
|
68
|
+
stub_request(:get, url).to_return(:body => json)
|
69
|
+
end
|
70
|
+
|
71
|
+
it 'has correct attributes' do
|
72
|
+
domain[:id].should == '4'
|
73
|
+
domain[:host].should == 'www.rubyjobs.io'
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
context 'an invalid domain' do
|
78
|
+
let(:json) { File.read("#{Bundler.root}/spec/fixtures/domains/search/no-match.json") }
|
79
|
+
before do
|
80
|
+
url = "http://:access_key@domain.io/api/v1/domains/search.json?host=www.missing.io"
|
81
|
+
stub_request(:get, url).to_return(:body => json)
|
82
|
+
end
|
83
|
+
|
84
|
+
it 'raises an exception' do
|
85
|
+
expect do
|
86
|
+
api.get_domain('www.missing.io')
|
87
|
+
end.to raise_error(RestPack::ResourceNotFound, 'host is not configured: [www.missing.io]')
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
describe '.get_configuration' do
|
93
|
+
context 'valid response' do
|
94
|
+
let(:json) { File.read("#{Bundler.root}/spec/fixtures/configurations/root.json") }
|
95
|
+
before do
|
96
|
+
url = "http://:access_key@domain.io/api/v1/configurations/root.json"
|
97
|
+
stub_request(:get, url).to_return(:body => json)
|
98
|
+
end
|
99
|
+
|
100
|
+
it 'has correct attributes' do
|
101
|
+
configurations = api.root_configurations
|
102
|
+
configurations.length.should == 2
|
103
|
+
configurations[0].key.should == 'services'
|
104
|
+
configurations[1].value.should == true
|
46
105
|
end
|
47
106
|
end
|
48
107
|
end
|
@@ -1,9 +1,9 @@
|
|
1
1
|
{
|
2
2
|
"channels": [
|
3
3
|
{
|
4
|
-
"id": "
|
5
|
-
"name": "
|
6
|
-
"href": "/api/v1/channels/
|
4
|
+
"id": "2",
|
5
|
+
"name": "Tech Jobs",
|
6
|
+
"href": "/api/v1/channels/2.json"
|
7
7
|
}
|
8
8
|
],
|
9
9
|
"meta": {
|
@@ -25,7 +25,7 @@
|
|
25
25
|
"applications": {
|
26
26
|
"page": 1,
|
27
27
|
"page_size": 50,
|
28
|
-
"count":
|
28
|
+
"count": 2,
|
29
29
|
"includes": [],
|
30
30
|
"page_count": 1,
|
31
31
|
"previous_page": null,
|
@@ -36,7 +36,7 @@
|
|
36
36
|
"domains": {
|
37
37
|
"page": 1,
|
38
38
|
"page_size": 50,
|
39
|
-
"count":
|
39
|
+
"count": 4,
|
40
40
|
"includes": [],
|
41
41
|
"page_count": 1,
|
42
42
|
"previous_page": null,
|
@@ -47,7 +47,7 @@
|
|
47
47
|
"configurations": {
|
48
48
|
"page": 1,
|
49
49
|
"page_size": 50,
|
50
|
-
"count":
|
50
|
+
"count": 4,
|
51
51
|
"includes": [],
|
52
52
|
"page_count": 1,
|
53
53
|
"previous_page": null,
|
@@ -108,75 +108,126 @@
|
|
108
108
|
},
|
109
109
|
"applications": [
|
110
110
|
{
|
111
|
-
"id": "
|
112
|
-
"name": "
|
113
|
-
"href": "/api/v1/applications/
|
111
|
+
"id": "2",
|
112
|
+
"name": "Ruby Jobs",
|
113
|
+
"href": "/api/v1/applications/2.json",
|
114
|
+
"links": {
|
115
|
+
"channel": "2"
|
116
|
+
}
|
117
|
+
},
|
118
|
+
{
|
119
|
+
"id": "3",
|
120
|
+
"name": "Python Jobs",
|
121
|
+
"href": "/api/v1/applications/3.json",
|
114
122
|
"links": {
|
115
|
-
"channel": "
|
123
|
+
"channel": "2"
|
116
124
|
}
|
117
125
|
}
|
118
126
|
],
|
119
127
|
"domains": [
|
120
128
|
{
|
121
|
-
"id": "
|
122
|
-
"host": "
|
123
|
-
"href": "/api/v1/domains/
|
129
|
+
"id": "4",
|
130
|
+
"host": "www.rubyjobs.io",
|
131
|
+
"href": "/api/v1/domains/4.json",
|
132
|
+
"links": {
|
133
|
+
"channel": "2",
|
134
|
+
"application": "2"
|
135
|
+
}
|
136
|
+
},
|
137
|
+
{
|
138
|
+
"id": "5",
|
139
|
+
"host": "auth.rubyjobs.io",
|
140
|
+
"href": "/api/v1/domains/5.json",
|
124
141
|
"links": {
|
125
|
-
"channel": "
|
126
|
-
"application": "
|
142
|
+
"channel": "2",
|
143
|
+
"application": "2"
|
127
144
|
}
|
128
145
|
},
|
129
146
|
{
|
130
|
-
"id": "
|
131
|
-
"host": "
|
132
|
-
"href": "/api/v1/domains/
|
147
|
+
"id": "6",
|
148
|
+
"host": "www.pythonjobs.io",
|
149
|
+
"href": "/api/v1/domains/6.json",
|
133
150
|
"links": {
|
134
|
-
"channel": "
|
135
|
-
"application": "
|
151
|
+
"channel": "2",
|
152
|
+
"application": "3"
|
136
153
|
}
|
137
154
|
},
|
138
155
|
{
|
139
|
-
"id": "
|
140
|
-
"host": "auth.
|
141
|
-
"href": "/api/v1/domains/
|
156
|
+
"id": "7",
|
157
|
+
"host": "auth.pythonjobs.io",
|
158
|
+
"href": "/api/v1/domains/7.json",
|
142
159
|
"links": {
|
143
|
-
"channel": "
|
144
|
-
"application": "
|
160
|
+
"channel": "2",
|
161
|
+
"application": "3"
|
145
162
|
}
|
146
163
|
}
|
147
164
|
],
|
148
165
|
"configurations": [
|
149
166
|
{
|
150
|
-
"id": "
|
167
|
+
"id": "4",
|
168
|
+
"key": "domains",
|
169
|
+
"value": {
|
170
|
+
"home": "www.rubyjobs.io:8080",
|
171
|
+
"auth": "auth.rubyjobs.io:8081"
|
172
|
+
},
|
173
|
+
"href": "/api/v1/configurations/4.json",
|
174
|
+
"links": {
|
175
|
+
"channel": "2",
|
176
|
+
"application": "2",
|
177
|
+
"domain": ""
|
178
|
+
}
|
179
|
+
},
|
180
|
+
{
|
181
|
+
"id": "5",
|
182
|
+
"key": "omniauth",
|
183
|
+
"value": {
|
184
|
+
"twitter": {
|
185
|
+
"consumer_key": "OAUTH_KEY_HERE",
|
186
|
+
"consumer_secret": "OAUTH_SECRET_HERE"
|
187
|
+
},
|
188
|
+
"google_oauth2": {
|
189
|
+
"consumer_key": "OAUTH_KEY_HERE",
|
190
|
+
"consumer_secret": "OAUTH_SECRET_HERE"
|
191
|
+
}
|
192
|
+
},
|
193
|
+
"href": "/api/v1/configurations/5.json",
|
194
|
+
"links": {
|
195
|
+
"channel": "2",
|
196
|
+
"application": "2",
|
197
|
+
"domain": ""
|
198
|
+
}
|
199
|
+
},
|
200
|
+
{
|
201
|
+
"id": "6",
|
151
202
|
"key": "domains",
|
152
203
|
"value": {
|
153
|
-
"home": "
|
154
|
-
"auth": "auth.
|
204
|
+
"home": "www.pythonjobs.io:8080",
|
205
|
+
"auth": "auth.pythonjobs.io:8081"
|
155
206
|
},
|
156
|
-
"href": "/api/v1/configurations/
|
207
|
+
"href": "/api/v1/configurations/6.json",
|
157
208
|
"links": {
|
158
|
-
"channel": "
|
159
|
-
"application": "
|
209
|
+
"channel": "2",
|
210
|
+
"application": "3",
|
160
211
|
"domain": ""
|
161
212
|
}
|
162
213
|
},
|
163
214
|
{
|
164
|
-
"id": "
|
215
|
+
"id": "7",
|
165
216
|
"key": "omniauth",
|
166
217
|
"value": {
|
167
218
|
"twitter": {
|
168
|
-
"consumer_key": "
|
169
|
-
"consumer_secret": "
|
219
|
+
"consumer_key": "OAUTH_KEY_HERE",
|
220
|
+
"consumer_secret": "OAUTH_SECRET_HERE"
|
170
221
|
},
|
171
222
|
"google_oauth2": {
|
172
|
-
"consumer_key": "
|
173
|
-
"consumer_secret": "
|
223
|
+
"consumer_key": "OAUTH_KEY_HERE",
|
224
|
+
"consumer_secret": "OAUTH_SECRET_HERE"
|
174
225
|
}
|
175
226
|
},
|
176
|
-
"href": "/api/v1/configurations/
|
227
|
+
"href": "/api/v1/configurations/7.json",
|
177
228
|
"links": {
|
178
|
-
"channel": "
|
179
|
-
"application": "
|
229
|
+
"channel": "2",
|
230
|
+
"application": "3",
|
180
231
|
"domain": ""
|
181
232
|
}
|
182
233
|
}
|
@@ -0,0 +1,70 @@
|
|
1
|
+
{
|
2
|
+
"configurations": [
|
3
|
+
{
|
4
|
+
"id": "1",
|
5
|
+
"key": "services",
|
6
|
+
"value": [
|
7
|
+
{
|
8
|
+
"name": "restpack-core-service",
|
9
|
+
"domain": "localhost:1111"
|
10
|
+
},
|
11
|
+
{
|
12
|
+
"name": "restpack-user-service",
|
13
|
+
"domain": "localhost:1112"
|
14
|
+
},
|
15
|
+
{
|
16
|
+
"name": "restpack-group-service",
|
17
|
+
"domain": "localhost:1113"
|
18
|
+
},
|
19
|
+
{
|
20
|
+
"name": "restpack-activity-service",
|
21
|
+
"domain": "localhost:1114"
|
22
|
+
}
|
23
|
+
],
|
24
|
+
"href": "/api/v1/configurations/1.json",
|
25
|
+
"links": {
|
26
|
+
"channel": "",
|
27
|
+
"application": "",
|
28
|
+
"domain": ""
|
29
|
+
}
|
30
|
+
},
|
31
|
+
{
|
32
|
+
"id": "2",
|
33
|
+
"key": "is_awsome",
|
34
|
+
"value": true,
|
35
|
+
"href": "/api/v1/configurations/2.json",
|
36
|
+
"links": {
|
37
|
+
"channel": "",
|
38
|
+
"application": "",
|
39
|
+
"domain": ""
|
40
|
+
}
|
41
|
+
}
|
42
|
+
],
|
43
|
+
"meta": {
|
44
|
+
"configurations": {
|
45
|
+
"page": 1,
|
46
|
+
"page_size": 50,
|
47
|
+
"count": 1,
|
48
|
+
"includes": [],
|
49
|
+
"page_count": 1,
|
50
|
+
"previous_page": null,
|
51
|
+
"next_page": null,
|
52
|
+
"previous_href": null,
|
53
|
+
"next_href": null
|
54
|
+
}
|
55
|
+
},
|
56
|
+
"links": {
|
57
|
+
"configurations.channel": {
|
58
|
+
"href": "/api/v1/channels/{configurations.channel}.json",
|
59
|
+
"type": "channels"
|
60
|
+
},
|
61
|
+
"configurations.application": {
|
62
|
+
"href": "/api/v1/applications/{configurations.application}.json",
|
63
|
+
"type": "applications"
|
64
|
+
},
|
65
|
+
"configurations.domain": {
|
66
|
+
"href": "/api/v1/domains/{configurations.domain}.json",
|
67
|
+
"type": "domains"
|
68
|
+
}
|
69
|
+
}
|
70
|
+
}
|
@@ -0,0 +1,40 @@
|
|
1
|
+
{
|
2
|
+
"domains": [
|
3
|
+
{
|
4
|
+
"id": "4",
|
5
|
+
"host": "www.rubyjobs.io",
|
6
|
+
"href": "/api/v1/domains/4.json",
|
7
|
+
"links": {
|
8
|
+
"channel": "2",
|
9
|
+
"application": "2"
|
10
|
+
}
|
11
|
+
}
|
12
|
+
],
|
13
|
+
"meta": {
|
14
|
+
"domains": {
|
15
|
+
"page": 1,
|
16
|
+
"page_size": 50,
|
17
|
+
"count": 1,
|
18
|
+
"includes": [],
|
19
|
+
"page_count": 1,
|
20
|
+
"previous_page": null,
|
21
|
+
"next_page": null,
|
22
|
+
"previous_href": null,
|
23
|
+
"next_href": null
|
24
|
+
}
|
25
|
+
},
|
26
|
+
"links": {
|
27
|
+
"domains.channel": {
|
28
|
+
"href": "/api/v1/channels/{domains.channel}.json",
|
29
|
+
"type": "channels"
|
30
|
+
},
|
31
|
+
"domains.application": {
|
32
|
+
"href": "/api/v1/applications/{domains.application}.json",
|
33
|
+
"type": "applications"
|
34
|
+
},
|
35
|
+
"domains.configurations": {
|
36
|
+
"href": "/api/v1/configurations.json?domain_id={domains.id}",
|
37
|
+
"type": "configurations"
|
38
|
+
}
|
39
|
+
}
|
40
|
+
}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
{
|
2
|
+
"domains": [],
|
3
|
+
"meta": {
|
4
|
+
"domains": {
|
5
|
+
"page": 1,
|
6
|
+
"page_size": 50,
|
7
|
+
"count": 0,
|
8
|
+
"includes": [],
|
9
|
+
"page_count": 1,
|
10
|
+
"previous_page": null,
|
11
|
+
"next_page": null,
|
12
|
+
"previous_href": null,
|
13
|
+
"next_href": null
|
14
|
+
}
|
15
|
+
},
|
16
|
+
"links": {
|
17
|
+
"domains.channel": {
|
18
|
+
"href": "/api/v1/channels/{domains.channel}.json",
|
19
|
+
"type": "channels"
|
20
|
+
},
|
21
|
+
"domains.application": {
|
22
|
+
"href": "/api/v1/applications/{domains.application}.json",
|
23
|
+
"type": "applications"
|
24
|
+
},
|
25
|
+
"domains.configurations": {
|
26
|
+
"href": "/api/v1/configurations.json?domain_id={domains.id}",
|
27
|
+
"type": "configurations"
|
28
|
+
}
|
29
|
+
}
|
30
|
+
}
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: restpack_core_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gavin Joyce
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-06-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|
@@ -80,6 +80,20 @@ dependencies:
|
|
80
80
|
- - ! '>='
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: webmock
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ! '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ! '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
83
97
|
description: A simple client gem for restpack-core-service
|
84
98
|
email:
|
85
99
|
- gavinjoyce@gmail.com
|
@@ -104,7 +118,10 @@ files:
|
|
104
118
|
- restpack_core_client.gemspec
|
105
119
|
- spec/api_spec.rb
|
106
120
|
- spec/cache_spec.rb
|
107
|
-
- spec/fixtures/
|
121
|
+
- spec/fixtures/channels/2.json
|
122
|
+
- spec/fixtures/configurations/root.json
|
123
|
+
- spec/fixtures/domains/search/match.json
|
124
|
+
- spec/fixtures/domains/search/no-match.json
|
108
125
|
- spec/spec_helper.rb
|
109
126
|
homepage: https://github.com/RestPack
|
110
127
|
licenses: []
|
@@ -132,5 +149,8 @@ summary: A simple client gem for restpack-core-service
|
|
132
149
|
test_files:
|
133
150
|
- spec/api_spec.rb
|
134
151
|
- spec/cache_spec.rb
|
135
|
-
- spec/fixtures/
|
152
|
+
- spec/fixtures/channels/2.json
|
153
|
+
- spec/fixtures/configurations/root.json
|
154
|
+
- spec/fixtures/domains/search/match.json
|
155
|
+
- spec/fixtures/domains/search/no-match.json
|
136
156
|
- spec/spec_helper.rb
|