pmp 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/pmp/client.rb +7 -2
- data/lib/pmp/parser.rb +1 -1
- data/lib/pmp/version.rb +1 -1
- data/spec/client_spec.rb +6 -1
- data/spec/fixtures/collection_root.json +89 -23
- data/spec/parser_spec.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2a973bed0cc15ec213cce42e732f6592d627c5e0
|
4
|
+
data.tar.gz: 3b75ef9379836b6b773e6508c111ecf4b34d4945
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6563f341fcbf74f75a8cc19731f8add4812126811710b9a02fd49bedd50efb4cd9c365a3e1eb474f4cd0260b2cb4ca374f53e0c341c926d9bd530f0be58a2fb4
|
7
|
+
data.tar.gz: 955430a5c6be07476f746f57af4b3d79efdd834447d9442495dd34da982252bcbe778ca7de8a625666c33b591f5ad5e9893420a1c161c7e13defe8816deb3401
|
data/lib/pmp/client.rb
CHANGED
@@ -5,12 +5,17 @@ module PMP
|
|
5
5
|
|
6
6
|
include Configuration
|
7
7
|
|
8
|
+
def initialize(options={}, &block)
|
9
|
+
apply_configuration(options)
|
10
|
+
yield(self) if block_given?
|
11
|
+
end
|
12
|
+
|
8
13
|
def token(opts={})
|
9
|
-
PMP::Token.new(opts).get_token
|
14
|
+
PMP::Token.new(options.merge(opts)).get_token
|
10
15
|
end
|
11
16
|
|
12
17
|
def root(opts={}, &block)
|
13
|
-
PMP::CollectionDocument.new(opts, &block)
|
18
|
+
PMP::CollectionDocument.new(options.merge(opts), &block)
|
14
19
|
end
|
15
20
|
|
16
21
|
end
|
data/lib/pmp/parser.rb
CHANGED
data/lib/pmp/version.rb
CHANGED
data/spec/client_spec.rb
CHANGED
@@ -8,8 +8,13 @@ describe PMP::Client do
|
|
8
8
|
@pmp = PMP::Client.new
|
9
9
|
}
|
10
10
|
|
11
|
+
it "make with options and pass along" do
|
12
|
+
pmp = PMP::Client.new(oauth_token: 'thisisatestvalueonly')
|
13
|
+
pmp.oauth_token.must_equal 'thisisatestvalueonly'
|
14
|
+
pmp.root.oauth_token.must_equal 'thisisatestvalueonly'
|
15
|
+
end
|
16
|
+
|
11
17
|
it "returns a root api object" do
|
12
|
-
@pmp = PMP::Client.new
|
13
18
|
@pmp.root.wont_be_nil
|
14
19
|
@pmp.root.wont_be :loaded?
|
15
20
|
@pmp.root.href.must_equal "https://api.pmp.io/"
|
@@ -2,7 +2,7 @@
|
|
2
2
|
"attributes": {
|
3
3
|
"created": "2013-10-01T15:57:55+00:00",
|
4
4
|
"guid": "04224975-e93c-4b17-9df9-96db37d318f3",
|
5
|
-
"modified": "2013-10-
|
5
|
+
"modified": "2013-10-17T17:24:32+00:00",
|
6
6
|
"published": "2013-07-04T04:00:44+00:00",
|
7
7
|
"title": "PMP Home Document",
|
8
8
|
"valid": {
|
@@ -18,8 +18,82 @@
|
|
18
18
|
],
|
19
19
|
"edit": [
|
20
20
|
{
|
21
|
-
"
|
22
|
-
|
21
|
+
"hints": {
|
22
|
+
"allow": [
|
23
|
+
"PUT",
|
24
|
+
"DELETE"
|
25
|
+
],
|
26
|
+
"docs": "https://github.com/publicmediaplatform/pmpdocs/wiki/Collection.doc-JSON-Media-Type",
|
27
|
+
"formats": [
|
28
|
+
"application/vnd.pmp.collection.doc+json"
|
29
|
+
]
|
30
|
+
},
|
31
|
+
"href-template": "https://publish-sandbox.pmp.io/docs{/guid}",
|
32
|
+
"href-vars": {
|
33
|
+
"guid": "https://github.com/publicmediaplatform/pmpdocs/wiki/Globaly-Unique-Identifiers-for-PMP-Documents"
|
34
|
+
},
|
35
|
+
"rels": [
|
36
|
+
"urn:pmp:form:documentsave"
|
37
|
+
],
|
38
|
+
"title": "Document Save"
|
39
|
+
},
|
40
|
+
{
|
41
|
+
"hints": {
|
42
|
+
"allow": [
|
43
|
+
"PUT",
|
44
|
+
"DELETE"
|
45
|
+
],
|
46
|
+
"docs": "https://github.com/publicmediaplatform/pmpdocs/wiki/Profile-profile",
|
47
|
+
"formats": [
|
48
|
+
"application/vnd.pmp.collection.doc+json"
|
49
|
+
]
|
50
|
+
},
|
51
|
+
"href-template": "https://publish-sandbox.pmp.io/profiles{/guid}",
|
52
|
+
"href-vars": {
|
53
|
+
"guid": "https://github.com/publicmediaplatform/pmpdocs/wiki/Globaly-Unique-Identifiers-for-PMP-Documents"
|
54
|
+
},
|
55
|
+
"rels": [
|
56
|
+
"urn:pmp:form:profilesave"
|
57
|
+
],
|
58
|
+
"title": "Profile Save"
|
59
|
+
},
|
60
|
+
{
|
61
|
+
"hints": {
|
62
|
+
"allow": [
|
63
|
+
"PUT",
|
64
|
+
"DELETE"
|
65
|
+
],
|
66
|
+
"docs": "http://json-schema.org/",
|
67
|
+
"formats": [
|
68
|
+
"application/schema+json"
|
69
|
+
]
|
70
|
+
},
|
71
|
+
"href-template": "https://publish-sandbox.pmp.io/schemas{/guid}",
|
72
|
+
"href-vars": {
|
73
|
+
"guid": "https://github.com/publicmediaplatform/pmpdocs/wiki/Globaly-Unique-Identifiers-for-PMP-Documents"
|
74
|
+
},
|
75
|
+
"rels": [
|
76
|
+
"urn:pmp:form:schemasave"
|
77
|
+
],
|
78
|
+
"title": "Schema Save"
|
79
|
+
},
|
80
|
+
{
|
81
|
+
"hints": {
|
82
|
+
"accept-post": [
|
83
|
+
"multipart/form-data"
|
84
|
+
],
|
85
|
+
"allow": [
|
86
|
+
"POST"
|
87
|
+
]
|
88
|
+
},
|
89
|
+
"href": "https://publish-sandbox.pmp.io/files",
|
90
|
+
"href-vars": {
|
91
|
+
"submission": "https://github.com/publicmediaplatform/pmpdocs/wiki/Media-File-Upload"
|
92
|
+
},
|
93
|
+
"rels": [
|
94
|
+
"urn:pmp:form:mediaupload"
|
95
|
+
],
|
96
|
+
"title": "Upload a rich media file"
|
23
97
|
}
|
24
98
|
],
|
25
99
|
"navigation": [
|
@@ -75,9 +149,7 @@
|
|
75
149
|
{
|
76
150
|
"hints": {
|
77
151
|
"allow": [
|
78
|
-
"GET"
|
79
|
-
"PUT",
|
80
|
-
"DELETE"
|
152
|
+
"GET"
|
81
153
|
]
|
82
154
|
},
|
83
155
|
"href-template": "https://api-sandbox.pmp.io/profiles{/guid}",
|
@@ -92,9 +164,7 @@
|
|
92
164
|
{
|
93
165
|
"hints": {
|
94
166
|
"allow": [
|
95
|
-
"GET"
|
96
|
-
"PUT",
|
97
|
-
"DELETE"
|
167
|
+
"GET"
|
98
168
|
]
|
99
169
|
},
|
100
170
|
"href-template": "https://api-sandbox.pmp.io/schemas{/guid}",
|
@@ -110,9 +180,7 @@
|
|
110
180
|
{
|
111
181
|
"hints": {
|
112
182
|
"allow": [
|
113
|
-
"GET"
|
114
|
-
"PUT",
|
115
|
-
"DELETE"
|
183
|
+
"GET"
|
116
184
|
]
|
117
185
|
},
|
118
186
|
"href-template": "https://api-sandbox.pmp.io/docs{/guid}{?limit,offset}",
|
@@ -155,24 +223,22 @@
|
|
155
223
|
"title": "Query for documents"
|
156
224
|
},
|
157
225
|
{
|
226
|
+
"hints": {
|
227
|
+
"accept-post": [
|
228
|
+
"application/x-www-form-urlencoded"
|
229
|
+
],
|
230
|
+
"allow": [
|
231
|
+
"POST"
|
232
|
+
]
|
233
|
+
},
|
158
234
|
"href": "https://api-sandbox.pmp.io/guids",
|
159
|
-
"method": "POST",
|
160
235
|
"rels": [
|
161
236
|
"urn:pmp:query:guids"
|
162
237
|
],
|
163
238
|
"title": "Generate guids",
|
164
239
|
"type": "application/json"
|
165
|
-
},
|
166
|
-
{
|
167
|
-
"href": "https://publish-sandbox.pmp.io/files",
|
168
|
-
"method": "POST",
|
169
|
-
"rels": [
|
170
|
-
"urn:pmp:query:files"
|
171
|
-
],
|
172
|
-
"title": "Upload media files",
|
173
|
-
"type": "multipart/form-data"
|
174
240
|
}
|
175
241
|
]
|
176
242
|
},
|
177
243
|
"version": "1.0"
|
178
|
-
}
|
244
|
+
}
|
data/spec/parser_spec.rb
CHANGED
@@ -42,7 +42,7 @@ describe PMP::Parser do
|
|
42
42
|
tc = TestParser.new
|
43
43
|
tc.parse(json_fixture(:collection_root))
|
44
44
|
tc.query.must_be_instance_of Hash
|
45
|
-
tc.query.keys.sort.must_equal ["urn:pmp:hreftpl:docs", "urn:pmp:hreftpl:profiles", "urn:pmp:hreftpl:schemas", "urn:pmp:query:docs", "urn:pmp:query:
|
45
|
+
tc.query.keys.sort.must_equal ["urn:pmp:hreftpl:docs", "urn:pmp:hreftpl:profiles", "urn:pmp:hreftpl:schemas", "urn:pmp:query:docs", "urn:pmp:query:groups", "urn:pmp:query:guids", "urn:pmp:query:users"]
|
46
46
|
end
|
47
47
|
|
48
48
|
|