pluct 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- OTgzNTBjZDdhYmQ0YjcyMTZhMWMzYjM3NDE0YzRjY2E2MWJhMzczZQ==
4
+ NTAzNzU2ZjllZWI5Y2UyYjI0ZmJhYzE1MTRkMmU4ZWVlMTQ1MjhmYg==
5
5
  data.tar.gz: !binary |-
6
- ZjA1NjdlOWQwOTc3ZDVkNTBlNjA5NDA2NjYxODFhMGRiZTk4ZmMxZQ==
6
+ NWIzZDQ2N2E2ZTJmY2MwMjc0Mzc0MzdiNDBhYWJjMjY2ZWMyYjZjMQ==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- OTcyZjMzZjVjYTdlZTkwMjNiYzczYmRlNjdmMTcwMzNiM2FhODdkNjhmYzEy
10
- NzIwMDY2Mzc3MjMxMjA0ZGYzNTY0NzFlZTUyNzU1NDE4NTI5YzZjZjEyODk1
11
- ZDFjZDRlMjJiZGZhNTU2M2YwYmM0NWI0NjIxZmZiMDY0MjU0YWE=
9
+ YzkzMTFmNWZlOTQ5Yzk1MWRlMDBhMTdkNTdhMzZlOThiZDAwNmJkOWZmOWMz
10
+ ODczOTJkYjVjYjRlMTM1YjBkMTA5YmFlY2JiYjIxYmVkMTk1YTE1MzY4ZmFm
11
+ ZTE0ZWRhNmZmMWE0NzllZTMyMDQyOWQ2OWYzMDQ4NWVlMThhNDQ=
12
12
  data.tar.gz: !binary |-
13
- YmRlOGJiZGZkMjg3Y2ZmNWI2NTc3YjA0OTE2Y2I3ODEyMDhhODlhNDU2OWU2
14
- MTA5ODYzODE4ZmFhYzg3YjU2OGMxZDM4ODE5MTk5ZWYxZTI1ZGI1OWI1MTE3
15
- MTZkYTI4MzMzMjNkYWVjZjA4YWY3YWNmZTYzMTNhNTc1YjI3ODE=
13
+ MDUyYjI2ZGNmYjZkYjY3NzYzM2RkMDIyYzMxODc1YmViNmUwY2JiZjA2NmRl
14
+ NjZiMWE1ZTFjMTZmZTAzMDNiYmY5MTE0ZmYyMzczYzQxZWFiMTg5NzRhNzQw
15
+ YjlmNThmNmM0NjYxOTg4MGQzMmFmMTRlNDk4MGI5Y2NhNThjY2E=
data/lib/pluct/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Pluct
2
- VERSION = "0.0.7"
2
+ VERSION = "0.0.8"
3
3
  end
@@ -4,7 +4,7 @@ describe Pluct::Resource, :integration do
4
4
 
5
5
  let(:resource){ Pluct::Resource.new('http://localhost:8888') }
6
6
 
7
- it 'creates a new instance' do
7
+ it 'creates a new instance', :vcr, cassette_name: 'integration/creates_new_app' do
8
8
  app = resource.collection({context_name: 'baas', collection_name: 'apps'}).create({name: 'my_app', description: 'app_desc'})
9
9
 
10
10
  expect(app.response.code).to eq 201
@@ -12,12 +12,12 @@ describe Pluct::Resource, :integration do
12
12
  expect(app.data).to be_empty
13
13
  end
14
14
 
15
- it 'expands uri template' do
15
+ it 'expands uri template', :vcr, cassette_name: 'integration/expands_uri' do
16
16
  collection = resource.collection({context_name: 'baas', collection_name: 'apps'})
17
17
  expect(collection.uri).to eq 'http://localhost:8888/baas/apps'
18
18
  end
19
19
 
20
- it 'raises 404 for url not found' do
20
+ it 'raises 404 for url not found', :vcr, cassette_name: 'integration/page_not_found' do
21
21
  expect {resource.resource({context_name: 'baas', collection_name: 'apps', resource_id: 'invalid'}) }.to raise_error(Pluct::Errors::UrlNotFound)
22
22
  end
23
23
  end
@@ -0,0 +1,221 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://localhost:8888/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - ! '*/*; q=0.5, application/xml'
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ Content-Type:
15
+ - application/json
16
+ User-Agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Content-Length:
24
+ - '2'
25
+ Server:
26
+ - TornadoServer/2.4.1
27
+ Etag:
28
+ - ! '"bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f"'
29
+ Link:
30
+ - <http://localhost:8888/root/schemas/root>; rel=describedby
31
+ Cache-Control:
32
+ - max-age=0
33
+ Access-Control-Allow-Origin:
34
+ - ! '*'
35
+ Content-Type:
36
+ - application/json; charset=UTF-8; profile=http://localhost:8888/root/schemas/root
37
+ body:
38
+ encoding: US-ASCII
39
+ string: ! '{}'
40
+ http_version:
41
+ recorded_at: Thu, 27 Jun 2013 17:42:50 GMT
42
+ - request:
43
+ method: get
44
+ uri: http://localhost:8888/root/schemas/root
45
+ body:
46
+ encoding: US-ASCII
47
+ string: ''
48
+ headers:
49
+ Accept:
50
+ - ! '*/*; q=0.5, application/xml'
51
+ Accept-Encoding:
52
+ - gzip, deflate
53
+ Content-Type:
54
+ - application/json
55
+ User-Agent:
56
+ - Ruby
57
+ response:
58
+ status:
59
+ code: 200
60
+ message: OK
61
+ headers:
62
+ Content-Length:
63
+ - '336'
64
+ Server:
65
+ - TornadoServer/2.4.1
66
+ Etag:
67
+ - ! '"4ab873749b4a4a304b67e1b1350eadd89e9bb3c0"'
68
+ Cache-Control:
69
+ - max-age=0
70
+ Access-Control-Allow-Origin:
71
+ - ! '*'
72
+ Content-Type:
73
+ - application/json; charset=UTF-8
74
+ body:
75
+ encoding: US-ASCII
76
+ string: ! '{"links": [{"href": "http://localhost:8888", "rel": "self"}, {"href":
77
+ "http://localhost:8888/{context_name}", "rel": "context"}, {"href": "http://localhost:8888/{context_name}/{collection_name}",
78
+ "rel": "collection"}, {"href": "http://localhost:8888/{context_name}/{collection_name}/{resource_id}",
79
+ "rel": "resource"}], "title": "Root"}'
80
+ http_version:
81
+ recorded_at: Thu, 27 Jun 2013 17:42:50 GMT
82
+ - request:
83
+ method: get
84
+ uri: http://localhost:8888/baas/apps
85
+ body:
86
+ encoding: US-ASCII
87
+ string: ''
88
+ headers:
89
+ Accept:
90
+ - ! '*/*; q=0.5, application/xml'
91
+ Accept-Encoding:
92
+ - gzip, deflate
93
+ Content-Type:
94
+ - application/json
95
+ User-Agent:
96
+ - Ruby
97
+ response:
98
+ status:
99
+ code: 200
100
+ message: OK
101
+ headers:
102
+ Content-Length:
103
+ - '1736'
104
+ Server:
105
+ - TornadoServer/2.4.1
106
+ Etag:
107
+ - ! '"7841e8ac445151f4e77453bde1de4857f68168ec"'
108
+ Link:
109
+ - <http://localhost:8888/baas/schemas/app-collection>; rel=describedby
110
+ Cache-Control:
111
+ - max-age=0
112
+ Access-Control-Allow-Origin:
113
+ - ! '*'
114
+ Content-Type:
115
+ - application/json; charset=UTF-8; profile=http://localhost:8888/baas/schemas/app-collection
116
+ body:
117
+ encoding: US-ASCII
118
+ string: ! '{"items": [{"description": "bar", "name": "foo", "resource_id": "6a7b9031f4b648f4a41591c1ce148b2c"},
119
+ {"resource_id": "82917c4ed17f4cdf9ddd14c4147a379f", "description": "bar",
120
+ "name": "new_foo"}, {"description": "bar", "name": "foo", "resource_id": "474f6a6f08eb4baaa5049606105945d7"},
121
+ {"description": "My Awesome App", "name": "New App", "resource_id": "9b0d0333302a42d3bc8ee00b0afa2121"},
122
+ {"description": "Awesome Data, bro!", "name": "My Awesome App", "resource_id":
123
+ "2739e24966974d97bfb811758614eb47"}, {"description": "Awesome Data, bro!",
124
+ "name": "My Awesome App", "resource_id": "ca515fe0f5d74adeb58854faa1260cc8"},
125
+ {"description": "bar", "name": "foo", "resource_id": "ddb5fa2dbebf43d7be17faea7c180c09"},
126
+ {"resource_id": "87a6f3cb1f9343debd87c0450b1750e6", "description": "Awesome
127
+ Data, bro!", "name": "Another name, bro!"}, {"description": "Awesome Data,
128
+ bro!", "name": "My Awesome App", "resource_id": "facb7441e3ce49b7b620eb83da1c5e60"},
129
+ {"description": "Awesome Data, bro!", "name": "My Awesome App", "resource_id":
130
+ "cfefcd51700840b4bd1d3c81bd7577b5"}], "next_page": 2, "links": [{"href": "http://localhost:8888/baas/apps/{resource_id}",
131
+ "rel": "item"}, {"href": "http://localhost:8888/baas/apps/{resource_id}",
132
+ "method": "PATCH", "rel": "edit"}, {"href": "http://localhost:8888/baas/apps/{resource_id}",
133
+ "method": "PUT", "rel": "replace"}, {"href": "http://localhost:8888/baas/apps/{resource_id}",
134
+ "method": "DELETE", "rel": "delete"}, {"href": "http://localhost:8888/baas/apps",
135
+ "rel": "self"}, {"href": "http://localhost:8888/baas/apps", "method": "POST",
136
+ "rel": "create", "schema": {"$ref": "http://localhost:8888/baas/schemas/app"}},
137
+ {"href": "http://localhost:8888/baas/apps?page=2", "rel": "next"}], "item_count":
138
+ 237}'
139
+ http_version:
140
+ recorded_at: Thu, 27 Jun 2013 17:42:50 GMT
141
+ - request:
142
+ method: get
143
+ uri: http://localhost:8888/baas/schemas/app-collection
144
+ body:
145
+ encoding: US-ASCII
146
+ string: ''
147
+ headers:
148
+ Accept:
149
+ - ! '*/*; q=0.5, application/xml'
150
+ Accept-Encoding:
151
+ - gzip, deflate
152
+ Content-Type:
153
+ - application/json
154
+ User-Agent:
155
+ - Ruby
156
+ response:
157
+ status:
158
+ code: 200
159
+ message: OK
160
+ headers:
161
+ Content-Length:
162
+ - '367'
163
+ Server:
164
+ - TornadoServer/2.4.1
165
+ Etag:
166
+ - ! '"5a1c821d55fe0e75bb01048c47e50c077bd9d5c3"'
167
+ Cache-Control:
168
+ - max-age=0
169
+ Access-Control-Allow-Origin:
170
+ - ! '*'
171
+ Content-Type:
172
+ - application/json; charset=UTF-8
173
+ body:
174
+ encoding: US-ASCII
175
+ string: ! '{"links": [{"href": "http://localhost:8888/baas/apps", "rel": "self"},
176
+ {"href": "http://localhost:8888/baas/apps", "method": "POST", "rel": "create",
177
+ "schema": {"$ref": "http://localhost:8888/baas/schemas/app"}}, {"href": "http://localhost:8888/baas/apps?page={prev_page}",
178
+ "rel": "prev"}, {"href": "http://localhost:8888/baas/apps?page={next_page}",
179
+ "rel": "next"}]}'
180
+ http_version:
181
+ recorded_at: Thu, 27 Jun 2013 17:42:50 GMT
182
+ - request:
183
+ method: post
184
+ uri: http://localhost:8888/baas/apps
185
+ body:
186
+ encoding: UTF-8
187
+ string: ! '{"name":"my_app","description":"app_desc"}'
188
+ headers:
189
+ Accept:
190
+ - ! '*/*; q=0.5, application/xml'
191
+ Accept-Encoding:
192
+ - gzip, deflate
193
+ Content-Type:
194
+ - application/json
195
+ Content-Length:
196
+ - '42'
197
+ User-Agent:
198
+ - Ruby
199
+ response:
200
+ status:
201
+ code: 201
202
+ message: Created
203
+ headers:
204
+ Content-Length:
205
+ - '0'
206
+ Server:
207
+ - TornadoServer/2.4.1
208
+ Location:
209
+ - http://localhost:8888/baas/apps/a9c9bd9d9aab41048db97ff48469fe60
210
+ Cache-Control:
211
+ - max-age=0
212
+ Access-Control-Allow-Origin:
213
+ - ! '*'
214
+ Content-Type:
215
+ - text/html; charset=UTF-8
216
+ body:
217
+ encoding: US-ASCII
218
+ string: ''
219
+ http_version:
220
+ recorded_at: Thu, 27 Jun 2013 17:42:50 GMT
221
+ recorded_with: VCR 2.5.0
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: http://localhost:8888/baas/apps
5
+ uri: http://localhost:8888/
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
@@ -21,40 +21,27 @@ http_interactions:
21
21
  message: OK
22
22
  headers:
23
23
  Content-Length:
24
- - '1129'
24
+ - '2'
25
25
  Server:
26
26
  - TornadoServer/2.4.1
27
27
  Etag:
28
- - ! '"eb6a3361d671dd8cf334bdae7c539d16359583af"'
28
+ - ! '"bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f"'
29
29
  Link:
30
- - <http://localhost:8888/baas/schemas/app-collection>; rel=describedby
30
+ - <http://localhost:8888/root/schemas/root>; rel=describedby
31
31
  Cache-Control:
32
32
  - max-age=0
33
33
  Access-Control-Allow-Origin:
34
34
  - ! '*'
35
35
  Content-Type:
36
- - application/json; charset=UTF-8; profile=http://localhost:8888/baas/schemas/app-collection
36
+ - application/json; charset=UTF-8; profile=http://localhost:8888/root/schemas/root
37
37
  body:
38
38
  encoding: US-ASCII
39
- string: ! '{"items": [{"description": "Awesome Data, bro!", "name": "My Awesome
40
- App", "resource_id": "4bc4e297ec43467eabe04c82a505ae24"}, {"description":
41
- "Awesome Data, bro!", "name": "My Awesome App", "resource_id": "84748678085f42c1bc4282e309de37d8"},
42
- {"description": "s", "name": "asds", "resource_id": "5c7c8df86c074d08a5e0cab8e57a6b81"},
43
- {"description": "My Awesome App", "name": "New App", "resource_id": "dd68e019f6ab48cbb48d995d276b6113"},
44
- {"description": "My Awesome App", "name": "New App", "resource_id": "ee85cecf98a44d7f928d523e1e3898ea"}],
45
- "links": [{"href": "http://localhost:8888/baas/apps/{resource_id}", "rel":
46
- "item"}, {"href": "http://localhost:8888/baas/apps/{resource_id}", "method":
47
- "PATCH", "rel": "edit"}, {"href": "http://localhost:8888/baas/apps/{resource_id}",
48
- "method": "PUT", "rel": "replace"}, {"href": "http://localhost:8888/baas/apps/{resource_id}",
49
- "method": "DELETE", "rel": "delete"}, {"href": "http://localhost:8888/baas/apps",
50
- "rel": "self"}, {"href": "http://localhost:8888/baas/apps", "method": "POST",
51
- "rel": "create", "schema": {"$ref": "http://localhost:8888/baas/schemas/app"}}],
52
- "item_count": 5}'
39
+ string: ! '{}'
53
40
  http_version:
54
- recorded_at: Sat, 22 Jun 2013 16:09:21 GMT
41
+ recorded_at: Thu, 27 Jun 2013 17:42:50 GMT
55
42
  - request:
56
43
  method: get
57
- uri: http://localhost:8888/baas/schemas/app-collection
44
+ uri: http://localhost:8888/root/schemas/root
58
45
  body:
59
46
  encoding: US-ASCII
60
47
  string: ''
@@ -73,11 +60,11 @@ http_interactions:
73
60
  message: OK
74
61
  headers:
75
62
  Content-Length:
76
- - '367'
63
+ - '336'
77
64
  Server:
78
65
  - TornadoServer/2.4.1
79
66
  Etag:
80
- - ! '"5a1c821d55fe0e75bb01048c47e50c077bd9d5c3"'
67
+ - ! '"4ab873749b4a4a304b67e1b1350eadd89e9bb3c0"'
81
68
  Cache-Control:
82
69
  - max-age=0
83
70
  Access-Control-Allow-Origin:
@@ -86,13 +73,12 @@ http_interactions:
86
73
  - application/json; charset=UTF-8
87
74
  body:
88
75
  encoding: US-ASCII
89
- string: ! '{"links": [{"href": "http://localhost:8888/baas/apps", "rel": "self"},
90
- {"href": "http://localhost:8888/baas/apps", "method": "POST", "rel": "create",
91
- "schema": {"$ref": "http://localhost:8888/baas/schemas/app"}}, {"href": "http://localhost:8888/baas/apps?page={prev_page}",
92
- "rel": "prev"}, {"href": "http://localhost:8888/baas/apps?page={next_page}",
93
- "rel": "next"}]}'
76
+ string: ! '{"links": [{"href": "http://localhost:8888", "rel": "self"}, {"href":
77
+ "http://localhost:8888/{context_name}", "rel": "context"}, {"href": "http://localhost:8888/{context_name}/{collection_name}",
78
+ "rel": "collection"}, {"href": "http://localhost:8888/{context_name}/{collection_name}/{resource_id}",
79
+ "rel": "resource"}], "title": "Root"}'
94
80
  http_version:
95
- recorded_at: Sat, 22 Jun 2013 16:09:21 GMT
81
+ recorded_at: Thu, 27 Jun 2013 17:42:50 GMT
96
82
  - request:
97
83
  method: get
98
84
  uri: http://localhost:8888/baas/apps
@@ -114,11 +100,11 @@ http_interactions:
114
100
  message: OK
115
101
  headers:
116
102
  Content-Length:
117
- - '1129'
103
+ - '1736'
118
104
  Server:
119
105
  - TornadoServer/2.4.1
120
106
  Etag:
121
- - ! '"eb6a3361d671dd8cf334bdae7c539d16359583af"'
107
+ - ! '"e1d1fd39af5f5923ce7c4e9083d7708f913a2530"'
122
108
  Link:
123
109
  - <http://localhost:8888/baas/schemas/app-collection>; rel=describedby
124
110
  Cache-Control:
@@ -129,28 +115,35 @@ http_interactions:
129
115
  - application/json; charset=UTF-8; profile=http://localhost:8888/baas/schemas/app-collection
130
116
  body:
131
117
  encoding: US-ASCII
132
- string: ! '{"items": [{"description": "Awesome Data, bro!", "name": "My Awesome
133
- App", "resource_id": "4bc4e297ec43467eabe04c82a505ae24"}, {"description":
134
- "Awesome Data, bro!", "name": "My Awesome App", "resource_id": "84748678085f42c1bc4282e309de37d8"},
135
- {"description": "s", "name": "asds", "resource_id": "5c7c8df86c074d08a5e0cab8e57a6b81"},
136
- {"description": "My Awesome App", "name": "New App", "resource_id": "dd68e019f6ab48cbb48d995d276b6113"},
137
- {"description": "My Awesome App", "name": "New App", "resource_id": "ee85cecf98a44d7f928d523e1e3898ea"}],
138
- "links": [{"href": "http://localhost:8888/baas/apps/{resource_id}", "rel":
139
- "item"}, {"href": "http://localhost:8888/baas/apps/{resource_id}", "method":
140
- "PATCH", "rel": "edit"}, {"href": "http://localhost:8888/baas/apps/{resource_id}",
118
+ string: ! '{"items": [{"description": "bar", "name": "foo", "resource_id": "6a7b9031f4b648f4a41591c1ce148b2c"},
119
+ {"resource_id": "82917c4ed17f4cdf9ddd14c4147a379f", "description": "bar",
120
+ "name": "new_foo"}, {"description": "bar", "name": "foo", "resource_id": "474f6a6f08eb4baaa5049606105945d7"},
121
+ {"description": "My Awesome App", "name": "New App", "resource_id": "9b0d0333302a42d3bc8ee00b0afa2121"},
122
+ {"description": "Awesome Data, bro!", "name": "My Awesome App", "resource_id":
123
+ "2739e24966974d97bfb811758614eb47"}, {"description": "Awesome Data, bro!",
124
+ "name": "My Awesome App", "resource_id": "ca515fe0f5d74adeb58854faa1260cc8"},
125
+ {"description": "bar", "name": "foo", "resource_id": "ddb5fa2dbebf43d7be17faea7c180c09"},
126
+ {"resource_id": "87a6f3cb1f9343debd87c0450b1750e6", "description": "Awesome
127
+ Data, bro!", "name": "Another name, bro!"}, {"description": "Awesome Data,
128
+ bro!", "name": "My Awesome App", "resource_id": "facb7441e3ce49b7b620eb83da1c5e60"},
129
+ {"description": "Awesome Data, bro!", "name": "My Awesome App", "resource_id":
130
+ "cfefcd51700840b4bd1d3c81bd7577b5"}], "next_page": 2, "links": [{"href": "http://localhost:8888/baas/apps/{resource_id}",
131
+ "rel": "item"}, {"href": "http://localhost:8888/baas/apps/{resource_id}",
132
+ "method": "PATCH", "rel": "edit"}, {"href": "http://localhost:8888/baas/apps/{resource_id}",
141
133
  "method": "PUT", "rel": "replace"}, {"href": "http://localhost:8888/baas/apps/{resource_id}",
142
134
  "method": "DELETE", "rel": "delete"}, {"href": "http://localhost:8888/baas/apps",
143
135
  "rel": "self"}, {"href": "http://localhost:8888/baas/apps", "method": "POST",
144
- "rel": "create", "schema": {"$ref": "http://localhost:8888/baas/schemas/app"}}],
145
- "item_count": 5}'
136
+ "rel": "create", "schema": {"$ref": "http://localhost:8888/baas/schemas/app"}},
137
+ {"href": "http://localhost:8888/baas/apps?page=2", "rel": "next"}], "item_count":
138
+ 238}'
146
139
  http_version:
147
- recorded_at: Sat, 22 Jun 2013 16:09:21 GMT
140
+ recorded_at: Thu, 27 Jun 2013 17:42:50 GMT
148
141
  - request:
149
- method: post
150
- uri: http://localhost:8888/baas/apps
142
+ method: get
143
+ uri: http://localhost:8888/baas/schemas/app-collection
151
144
  body:
152
- encoding: UTF-8
153
- string: ! '{"name":"New App","description":"My Awesome App"}'
145
+ encoding: US-ASCII
146
+ string: ''
154
147
  headers:
155
148
  Accept:
156
149
  - ! '*/*; q=0.5, application/xml'
@@ -158,30 +151,32 @@ http_interactions:
158
151
  - gzip, deflate
159
152
  Content-Type:
160
153
  - application/json
161
- Content-Length:
162
- - '49'
163
154
  User-Agent:
164
155
  - Ruby
165
156
  response:
166
157
  status:
167
- code: 201
168
- message: Created
158
+ code: 200
159
+ message: OK
169
160
  headers:
170
161
  Content-Length:
171
- - '0'
162
+ - '367'
172
163
  Server:
173
164
  - TornadoServer/2.4.1
174
- Location:
175
- - http://localhost:8888/baas/apps/0d63bf8c52984744b6f3963740474299
165
+ Etag:
166
+ - ! '"5a1c821d55fe0e75bb01048c47e50c077bd9d5c3"'
176
167
  Cache-Control:
177
168
  - max-age=0
178
169
  Access-Control-Allow-Origin:
179
170
  - ! '*'
180
171
  Content-Type:
181
- - text/html; charset=UTF-8
172
+ - application/json; charset=UTF-8
182
173
  body:
183
174
  encoding: US-ASCII
184
- string: ''
175
+ string: ! '{"links": [{"href": "http://localhost:8888/baas/apps", "rel": "self"},
176
+ {"href": "http://localhost:8888/baas/apps", "method": "POST", "rel": "create",
177
+ "schema": {"$ref": "http://localhost:8888/baas/schemas/app"}}, {"href": "http://localhost:8888/baas/apps?page={prev_page}",
178
+ "rel": "prev"}, {"href": "http://localhost:8888/baas/apps?page={next_page}",
179
+ "rel": "next"}]}'
185
180
  http_version:
186
- recorded_at: Sat, 22 Jun 2013 16:09:21 GMT
181
+ recorded_at: Thu, 27 Jun 2013 17:42:50 GMT
187
182
  recorded_with: VCR 2.5.0
@@ -0,0 +1,117 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://localhost:8888/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - ! '*/*; q=0.5, application/xml'
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ Content-Type:
15
+ - application/json
16
+ User-Agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Content-Length:
24
+ - '2'
25
+ Server:
26
+ - TornadoServer/2.4.1
27
+ Etag:
28
+ - ! '"bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f"'
29
+ Link:
30
+ - <http://localhost:8888/root/schemas/root>; rel=describedby
31
+ Cache-Control:
32
+ - max-age=0
33
+ Access-Control-Allow-Origin:
34
+ - ! '*'
35
+ Content-Type:
36
+ - application/json; charset=UTF-8; profile=http://localhost:8888/root/schemas/root
37
+ body:
38
+ encoding: US-ASCII
39
+ string: ! '{}'
40
+ http_version:
41
+ recorded_at: Thu, 27 Jun 2013 17:42:50 GMT
42
+ - request:
43
+ method: get
44
+ uri: http://localhost:8888/root/schemas/root
45
+ body:
46
+ encoding: US-ASCII
47
+ string: ''
48
+ headers:
49
+ Accept:
50
+ - ! '*/*; q=0.5, application/xml'
51
+ Accept-Encoding:
52
+ - gzip, deflate
53
+ Content-Type:
54
+ - application/json
55
+ User-Agent:
56
+ - Ruby
57
+ response:
58
+ status:
59
+ code: 200
60
+ message: OK
61
+ headers:
62
+ Content-Length:
63
+ - '336'
64
+ Server:
65
+ - TornadoServer/2.4.1
66
+ Etag:
67
+ - ! '"4ab873749b4a4a304b67e1b1350eadd89e9bb3c0"'
68
+ Cache-Control:
69
+ - max-age=0
70
+ Access-Control-Allow-Origin:
71
+ - ! '*'
72
+ Content-Type:
73
+ - application/json; charset=UTF-8
74
+ body:
75
+ encoding: US-ASCII
76
+ string: ! '{"links": [{"href": "http://localhost:8888", "rel": "self"}, {"href":
77
+ "http://localhost:8888/{context_name}", "rel": "context"}, {"href": "http://localhost:8888/{context_name}/{collection_name}",
78
+ "rel": "collection"}, {"href": "http://localhost:8888/{context_name}/{collection_name}/{resource_id}",
79
+ "rel": "resource"}], "title": "Root"}'
80
+ http_version:
81
+ recorded_at: Thu, 27 Jun 2013 17:42:50 GMT
82
+ - request:
83
+ method: get
84
+ uri: http://localhost:8888/baas/apps/invalid
85
+ body:
86
+ encoding: US-ASCII
87
+ string: ''
88
+ headers:
89
+ Accept:
90
+ - ! '*/*; q=0.5, application/xml'
91
+ Accept-Encoding:
92
+ - gzip, deflate
93
+ Content-Type:
94
+ - application/json
95
+ User-Agent:
96
+ - Ruby
97
+ response:
98
+ status:
99
+ code: 404
100
+ message: Not Found
101
+ headers:
102
+ Access-Control-Allow-Origin:
103
+ - ! '*'
104
+ Cache-Control:
105
+ - max-age=0
106
+ Content-Type:
107
+ - text/html; charset=UTF-8
108
+ Content-Length:
109
+ - '0'
110
+ Server:
111
+ - TornadoServer/2.4.1
112
+ body:
113
+ encoding: US-ASCII
114
+ string: ''
115
+ http_version:
116
+ recorded_at: Thu, 27 Jun 2013 17:42:50 GMT
117
+ recorded_with: VCR 2.5.0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pluct
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alberto Leal
@@ -181,8 +181,9 @@ files:
181
181
  - spec/pluct/schema_spec.rb
182
182
  - spec/spec_helper.rb
183
183
  - spec/support/vcr.rb
184
- - spec/support/vcr/acceptance/creates_new_app.yml
185
- - spec/support/vcr/acceptance/pluct_resource.yml
184
+ - spec/support/vcr/integration/creates_new_app.yml
185
+ - spec/support/vcr/integration/expands_uri.yml
186
+ - spec/support/vcr/integration/page_not_found.yml
186
187
  homepage: http://github.com/globocom/pluct-ruby
187
188
  licenses:
188
189
  - MIT
@@ -217,6 +218,7 @@ test_files:
217
218
  - spec/pluct/schema_spec.rb
218
219
  - spec/spec_helper.rb
219
220
  - spec/support/vcr.rb
220
- - spec/support/vcr/acceptance/creates_new_app.yml
221
- - spec/support/vcr/acceptance/pluct_resource.yml
221
+ - spec/support/vcr/integration/creates_new_app.yml
222
+ - spec/support/vcr/integration/expands_uri.yml
223
+ - spec/support/vcr/integration/page_not_found.yml
222
224
  has_rdoc:
@@ -1,200 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: http://repos.example.com/interatividade/famosos
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- Accept:
11
- - ! '*/*; q=0.5, application/xml'
12
- Accept-Encoding:
13
- - gzip, deflate
14
- Content-Type:
15
- - application/json
16
- User-Agent:
17
- - Ruby
18
- response:
19
- status:
20
- code: 200
21
- message: OK
22
- headers:
23
- Access-Control-Allow-Origin:
24
- - ! '*'
25
- Content-Type:
26
- - application/json; charset=UTF-8; profile=http://repos.example.com/interatividade/schemas/famoso-collection
27
- Date:
28
- - Tue, 11 Jun 2013 13:20:45 GMT
29
- Etag:
30
- - ! '"504bb93b367e8d268b6f4d28ea50c788bd96d60b"'
31
- Link:
32
- - <http://repos.example.com/interatividade/schemas/famoso-collection>;
33
- rel=describedby
34
- Server:
35
- - nginx/1.1.19
36
- Content-Length:
37
- - '948'
38
- Connection:
39
- - keep-alive
40
- body:
41
- encoding: US-ASCII
42
- string: ! '{"items": [{"cadun_id": 1, "name": "Alberto", "resource_id":
43
- "4c7829d7ff4f4e428f6f1571f7a3f760"}, {"cadun_id": 2, "name": "Nathalia", "resource_id":
44
- "afa8bad7b7734cabb63d720b6470afcf"}], "links": [{"href": "http://repos.example.com/interatividade/famosos/{resource_id}",
45
- "rel": "item"}, {"href": "http://repos.example.com/interatividade/famosos/{resource_id}",
46
- "method": "PATCH", "rel": "edit"}, {"href": "http://repos.example.com/interatividade/famosos/{resource_id}",
47
- "method": "PUT", "rel": "replace"}, {"href": "http://repos.example.com/interatividade/famosos/{resource_id}",
48
- "method": "DELETE", "rel": "delete"}, {"href": "http://repos.example.com/interatividade/famosos",
49
- "rel": "self"}, {"href": "http://repos.example.com/interatividade/famosos",
50
- "method": "POST", "rel": "create", "schema": {"$ref": "http://repos.example.com/interatividade/schemas/famoso"}}],
51
- "item_count": 2}'
52
- http_version:
53
- recorded_at: Tue, 11 Jun 2013 13:20:03 GMT
54
- - request:
55
- method: get
56
- uri: http://repos.example.com/interatividade/schemas/famoso-collection
57
- body:
58
- encoding: US-ASCII
59
- string: ''
60
- headers:
61
- Accept:
62
- - ! '*/*; q=0.5, application/xml'
63
- Accept-Encoding:
64
- - gzip, deflate
65
- Content-Type:
66
- - application/json
67
- User-Agent:
68
- - Ruby
69
- response:
70
- status:
71
- code: 200
72
- message: OK
73
- headers:
74
- Access-Control-Allow-Origin:
75
- - ! '*'
76
- Content-Type:
77
- - application/json; charset=UTF-8
78
- Date:
79
- - Tue, 11 Jun 2013 13:20:46 GMT
80
- Etag:
81
- - ! '"255aaff177c521d6807d015ce8021c92f20a67ec"'
82
- Server:
83
- - nginx/1.1.19
84
- Content-Length:
85
- - '487'
86
- Connection:
87
- - keep-alive
88
- body:
89
- encoding: US-ASCII
90
- string: ! '{"links": [{"href": "http://repos.example.com/interatividade/famosos",
91
- "rel": "self"}, {"href": "http://repos.example.com/interatividade/famosos",
92
- "method": "POST", "rel": "create", "schema": {"$ref": "http://repos.example.com/interatividade/schemas/famoso"}},
93
- {"href": "http://repos.example.com/interatividade/famosos?page={prev_page}",
94
- "rel": "prev"}, {"href": "http://repos.example.com/interatividade/famosos?page={next_page}",
95
- "rel": "next"}]}'
96
- http_version:
97
- recorded_at: Tue, 11 Jun 2013 13:20:03 GMT
98
- - request:
99
- method: get
100
- uri: http://repos.example.com/interatividade/famosos
101
- body:
102
- encoding: US-ASCII
103
- string: ''
104
- headers:
105
- Accept:
106
- - ! '*/*; q=0.5, application/xml'
107
- Accept-Encoding:
108
- - gzip, deflate
109
- Content-Type:
110
- - application/json
111
- User-Agent:
112
- - Ruby
113
- response:
114
- status:
115
- code: 200
116
- message: OK
117
- headers:
118
- Access-Control-Allow-Origin:
119
- - ! '*'
120
- Content-Type:
121
- - application/json; charset=UTF-8; profile=http://repos.example.com/interatividade/schemas/famoso-collection
122
- Date:
123
- - Tue, 11 Jun 2013 13:20:46 GMT
124
- Etag:
125
- - ! '"504bb93b367e8d268b6f4d28ea50c788bd96d60b"'
126
- Link:
127
- - <http://repos.example.com/interatividade/schemas/famoso-collection>;
128
- rel=describedby
129
- Server:
130
- - nginx/1.1.19
131
- Content-Length:
132
- - '948'
133
- Connection:
134
- - keep-alive
135
- body:
136
- encoding: US-ASCII
137
- string: ! '{"items": [{"cadun_id": 1, "name": "Alberto", "resource_id":
138
- "4c7829d7ff4f4e428f6f1571f7a3f760"}, {"cadun_id": 2, "name": "Nathalia", "resource_id":
139
- "afa8bad7b7734cabb63d720b6470afcf"}], "links": [{"href": "http://repos.example.com/interatividade/famosos/{resource_id}",
140
- "rel": "item"}, {"href": "http://repos.example.com/interatividade/famosos/{resource_id}",
141
- "method": "PATCH", "rel": "edit"}, {"href": "http://repos.example.com/interatividade/famosos/{resource_id}",
142
- "method": "PUT", "rel": "replace"}, {"href": "http://repos.example.com/interatividade/famosos/{resource_id}",
143
- "method": "DELETE", "rel": "delete"}, {"href": "http://repos.example.com/interatividade/famosos",
144
- "rel": "self"}, {"href": "http://repos.example.com/interatividade/famosos",
145
- "method": "POST", "rel": "create", "schema": {"$ref": "http://repos.example.com/interatividade/schemas/famoso"}}],
146
- "item_count": 2}'
147
- http_version:
148
- recorded_at: Tue, 11 Jun 2013 13:20:03 GMT
149
- - request:
150
- method: get
151
- uri: http://repos.example.com/interatividade/famosos
152
- body:
153
- encoding: US-ASCII
154
- string: ''
155
- headers:
156
- Accept:
157
- - ! '*/*; q=0.5, application/xml'
158
- Accept-Encoding:
159
- - gzip, deflate
160
- Content-Type:
161
- - application/json
162
- User-Agent:
163
- - Ruby
164
- response:
165
- status:
166
- code: 200
167
- message: OK
168
- headers:
169
- Access-Control-Allow-Origin:
170
- - ! '*'
171
- Content-Type:
172
- - application/json; charset=UTF-8; profile=http://repos.example.com/interatividade/schemas/famoso-collection
173
- Date:
174
- - Tue, 11 Jun 2013 13:20:46 GMT
175
- Etag:
176
- - ! '"504bb93b367e8d268b6f4d28ea50c788bd96d60b"'
177
- Link:
178
- - <http://repos.example.com/interatividade/schemas/famoso-collection>;
179
- rel=describedby
180
- Server:
181
- - nginx/1.1.19
182
- Content-Length:
183
- - '948'
184
- Connection:
185
- - keep-alive
186
- body:
187
- encoding: US-ASCII
188
- string: ! '{"items": [{"cadun_id": 1, "name": "Alberto", "resource_id":
189
- "4c7829d7ff4f4e428f6f1571f7a3f760"}, {"cadun_id": 2, "name": "Nathalia", "resource_id":
190
- "afa8bad7b7734cabb63d720b6470afcf"}], "links": [{"href": "http://repos.example.com/interatividade/famosos/{resource_id}",
191
- "rel": "item"}, {"href": "http://repos.example.com/interatividade/famosos/{resource_id}",
192
- "method": "PATCH", "rel": "edit"}, {"href": "http://repos.example.com/interatividade/famosos/{resource_id}",
193
- "method": "PUT", "rel": "replace"}, {"href": "http://repos.example.com/interatividade/famosos/{resource_id}",
194
- "method": "DELETE", "rel": "delete"}, {"href": "http://repos.example.com/interatividade/famosos",
195
- "rel": "self"}, {"href": "http://repos.example.com/interatividade/famosos",
196
- "method": "POST", "rel": "create", "schema": {"$ref": "http://repos.example.com/interatividade/schemas/famoso"}}],
197
- "item_count": 2}'
198
- http_version:
199
- recorded_at: Tue, 11 Jun 2013 13:20:03 GMT
200
- recorded_with: VCR 2.5.0