gds-api-adapters 2.4.0 → 2.5.0
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/lib/gds_api/content_api.rb +4 -0
- data/lib/gds_api/rummager.rb +39 -0
- data/lib/gds_api/test_helpers/content_api.rb +1 -0
- data/lib/gds_api/version.rb +1 -1
- data/test/rummager_test.rb +95 -0
- metadata +187 -131
data/lib/gds_api/content_api.rb
CHANGED
@@ -12,6 +12,10 @@ class GdsApi::ContentApi < GdsApi::Base
|
|
12
12
|
get_json!("#{base_url}/with_tag.json?tag=#{tag}&include_children=1")
|
13
13
|
end
|
14
14
|
|
15
|
+
def curated_list(tag)
|
16
|
+
get_json("#{base_url}/with_tag.json?tag=#{tag}&sort=curated")
|
17
|
+
end
|
18
|
+
|
15
19
|
def artefact(slug)
|
16
20
|
get_json("#{base_url}/#{slug}.json")
|
17
21
|
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module GdsApi
|
2
|
+
class Rummager
|
3
|
+
class SearchUriNotSpecified < RuntimeError; end
|
4
|
+
class SearchError < RuntimeError; end
|
5
|
+
class SearchServiceError < SearchError; end
|
6
|
+
class SearchTimeout < SearchError; end
|
7
|
+
|
8
|
+
attr_accessor :search_uri
|
9
|
+
|
10
|
+
def initialize(search_uri)
|
11
|
+
raise SearchUriNotSpecified unless search_uri
|
12
|
+
self.search_uri = search_uri
|
13
|
+
end
|
14
|
+
|
15
|
+
def search(query, format_filter = nil)
|
16
|
+
return [] if query.nil? || query == ""
|
17
|
+
JSON.parse(search_response(:search, query, format_filter).body)
|
18
|
+
end
|
19
|
+
|
20
|
+
def autocomplete(query, format_filter = nil)
|
21
|
+
return [] if query.nil? || query == ""
|
22
|
+
search_response(:autocomplete, query, format_filter).body
|
23
|
+
end
|
24
|
+
|
25
|
+
private
|
26
|
+
|
27
|
+
def search_response(type, query, format_filter = nil)
|
28
|
+
request_path = "/#{type}?q=#{CGI.escape(query)}"
|
29
|
+
request_path << "&format_filter=#{CGI.escape(format_filter)}" if format_filter
|
30
|
+
uri = URI("#{search_uri}#{request_path}")
|
31
|
+
http = Net::HTTP.new(uri.host, uri.port)
|
32
|
+
response = http.get(uri.request_uri, {"Accept" => "application/json"})
|
33
|
+
raise SearchServiceError.new("#{response.code}: #{response.body}") unless response.code == "200"
|
34
|
+
response
|
35
|
+
rescue Timeout::Error
|
36
|
+
raise SearchTimeout
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -54,6 +54,7 @@ module GdsApi
|
|
54
54
|
def artefact_for_slug(slug)
|
55
55
|
singular_response_base.merge(
|
56
56
|
"title" => titleize_slug(slug),
|
57
|
+
"format" => "guide",
|
57
58
|
"id" => "http://contentapi.test.gov.uk/#{slug}.json",
|
58
59
|
"web_url" => "http://frontend.test.gov.uk/#{slug}",
|
59
60
|
"details" => {
|
data/lib/gds_api/version.rb
CHANGED
@@ -0,0 +1,95 @@
|
|
1
|
+
require "test_helper"
|
2
|
+
require "gds_api/rummager"
|
3
|
+
|
4
|
+
describe GdsApi::Rummager do
|
5
|
+
before(:each) do
|
6
|
+
stub_request(:get, /example.com\/search/).to_return(body: "[]")
|
7
|
+
stub_request(:get, /example.com\/autocomplete/).to_return(body: "[]")
|
8
|
+
end
|
9
|
+
|
10
|
+
it "should raise an exception if the search service uri is not set" do
|
11
|
+
assert_raises(GdsApi::Rummager::SearchUriNotSpecified) { GdsApi::Rummager.new(nil) }
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should raise an exception if the service at the search URI returns a 500" do
|
15
|
+
stub_request(:get, /example.com\/search/).to_return(status: [500, "Internal Server Error"])
|
16
|
+
assert_raises(GdsApi::Rummager::SearchServiceError) do
|
17
|
+
GdsApi::Rummager.new("http://example.com").search("query")
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should raise an exception if the service at the search URI returns a 404" do
|
22
|
+
stub_request(:get, /example.com\/search/).to_return(status: [404, "Not Found"])
|
23
|
+
assert_raises(GdsApi::Rummager::SearchServiceError) do
|
24
|
+
GdsApi::Rummager.new("http://example.com").search("query")
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
it "should raise an exception if the service at the search URI times out" do
|
29
|
+
stub_request(:get, /example.com\/search/).to_timeout
|
30
|
+
assert_raises(GdsApi::Rummager::SearchTimeout) do
|
31
|
+
GdsApi::Rummager.new("http://example.com").search("query")
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
it "should return the search deserialized from json" do
|
36
|
+
search_results = [{"title" => "document-title"}]
|
37
|
+
stub_request(:get, /example.com\/search/).to_return(body: search_results.to_json)
|
38
|
+
results = GdsApi::Rummager.new("http://example.com").search("query")
|
39
|
+
|
40
|
+
assert_equal search_results, results
|
41
|
+
end
|
42
|
+
|
43
|
+
it "should return an empty set of results without making request if query is empty" do
|
44
|
+
results = GdsApi::Rummager.new("http://example.com").search("")
|
45
|
+
|
46
|
+
assert_equal [], results
|
47
|
+
assert_not_requested :get, /example.com/
|
48
|
+
end
|
49
|
+
|
50
|
+
it "should return an empty set of results without making request if query is nil" do
|
51
|
+
results = GdsApi::Rummager.new("http://example.com").search(nil)
|
52
|
+
|
53
|
+
assert_equal [], results
|
54
|
+
assert_not_requested :get, /example.com/
|
55
|
+
end
|
56
|
+
|
57
|
+
it "should request the search results in JSON format" do
|
58
|
+
GdsApi::Rummager.new("http://example.com").search("query")
|
59
|
+
|
60
|
+
assert_requested :get, /.*/, headers: {"Accept" => "application/json"}
|
61
|
+
end
|
62
|
+
|
63
|
+
it "should issue a request for the search term specified" do
|
64
|
+
GdsApi::Rummager.new("http://example.com").search "search-term"
|
65
|
+
|
66
|
+
assert_requested :get, /\?q=search-term/
|
67
|
+
end
|
68
|
+
|
69
|
+
it "should add a format filter parameter to searches if provided" do
|
70
|
+
GdsApi::Rummager.new("http://example.com").search "search-term", "specialist_guidance"
|
71
|
+
|
72
|
+
assert_requested :get, /format_filter=specialist_guidance/
|
73
|
+
end
|
74
|
+
|
75
|
+
it "should add a format filter parameter to autocomplete if provided" do
|
76
|
+
GdsApi::Rummager.new("http://example.com").autocomplete "search-term", "specialist_guidance"
|
77
|
+
|
78
|
+
assert_requested :get, /format_filter=specialist_guidance/
|
79
|
+
end
|
80
|
+
|
81
|
+
it "should escape characters that would otherwise be invalid in a URI" do
|
82
|
+
GdsApi::Rummager.new("http://example.com").search "search term with spaces"
|
83
|
+
|
84
|
+
# FYI: the actual request is "?q=search+term+with+spaces", but Webmock appears to be re-escaping.
|
85
|
+
assert_requested :get, /\?q=search%20term%20with%20spaces/
|
86
|
+
end
|
87
|
+
|
88
|
+
it "should pass autocomplete responses back as-is" do
|
89
|
+
search_results_json = {"title" => "document-title"}.to_json
|
90
|
+
stub_request(:get, /example.com\/autocomplete/).to_return(body: search_results_json)
|
91
|
+
results = GdsApi::Rummager.new("http://example.com").autocomplete("test")
|
92
|
+
|
93
|
+
assert_equal search_results_json, results
|
94
|
+
end
|
95
|
+
end
|
metadata
CHANGED
@@ -1,236 +1,292 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: gds-api-adapters
|
3
|
-
version: !ruby/object:Gem::Version
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.5.0
|
4
5
|
prerelease:
|
5
|
-
version: 2.4.0
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- James Stewart
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-09-20 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
16
15
|
name: plek
|
17
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
18
17
|
none: false
|
19
|
-
requirements:
|
20
|
-
- -
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version:
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
23
22
|
type: :runtime
|
24
23
|
prerelease: false
|
25
|
-
version_requirements:
|
26
|
-
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
27
31
|
name: null_logger
|
28
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
29
33
|
none: false
|
30
|
-
requirements:
|
31
|
-
- -
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version:
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
34
38
|
type: :runtime
|
35
39
|
prerelease: false
|
36
|
-
version_requirements:
|
37
|
-
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
38
47
|
name: lrucache
|
39
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
40
49
|
none: false
|
41
|
-
requirements:
|
50
|
+
requirements:
|
42
51
|
- - ~>
|
43
|
-
- !ruby/object:Gem::Version
|
52
|
+
- !ruby/object:Gem::Version
|
44
53
|
version: 0.1.1
|
45
54
|
type: :runtime
|
46
55
|
prerelease: false
|
47
|
-
version_requirements:
|
48
|
-
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.1.1
|
62
|
+
- !ruby/object:Gem::Dependency
|
49
63
|
name: rdoc
|
50
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
51
65
|
none: false
|
52
|
-
requirements:
|
53
|
-
- -
|
54
|
-
- !ruby/object:Gem::Version
|
55
|
-
version:
|
66
|
+
requirements:
|
67
|
+
- - '='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '3.12'
|
56
70
|
type: :development
|
57
71
|
prerelease: false
|
58
|
-
version_requirements:
|
59
|
-
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - '='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '3.12'
|
78
|
+
- !ruby/object:Gem::Dependency
|
60
79
|
name: rake
|
61
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
62
81
|
none: false
|
63
|
-
requirements:
|
82
|
+
requirements:
|
64
83
|
- - ~>
|
65
|
-
- !ruby/object:Gem::Version
|
84
|
+
- !ruby/object:Gem::Version
|
66
85
|
version: 0.9.2.2
|
67
86
|
type: :development
|
68
87
|
prerelease: false
|
69
|
-
version_requirements:
|
70
|
-
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ~>
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: 0.9.2.2
|
94
|
+
- !ruby/object:Gem::Dependency
|
71
95
|
name: webmock
|
72
|
-
requirement:
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
73
97
|
none: false
|
74
|
-
requirements:
|
98
|
+
requirements:
|
75
99
|
- - ~>
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version:
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '1.8'
|
78
102
|
type: :development
|
79
103
|
prerelease: false
|
80
|
-
version_requirements:
|
81
|
-
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ~>
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '1.8'
|
110
|
+
- !ruby/object:Gem::Dependency
|
82
111
|
name: mocha
|
83
|
-
requirement:
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
84
113
|
none: false
|
85
|
-
requirements:
|
114
|
+
requirements:
|
86
115
|
- - ~>
|
87
|
-
- !ruby/object:Gem::Version
|
116
|
+
- !ruby/object:Gem::Version
|
88
117
|
version: 0.12.4
|
89
118
|
type: :development
|
90
119
|
prerelease: false
|
91
|
-
version_requirements:
|
92
|
-
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ~>
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: 0.12.4
|
126
|
+
- !ruby/object:Gem::Dependency
|
93
127
|
name: minitest
|
94
|
-
requirement:
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
95
129
|
none: false
|
96
|
-
requirements:
|
130
|
+
requirements:
|
97
131
|
- - ~>
|
98
|
-
- !ruby/object:Gem::Version
|
132
|
+
- !ruby/object:Gem::Version
|
99
133
|
version: 3.4.0
|
100
134
|
type: :development
|
101
135
|
prerelease: false
|
102
|
-
version_requirements:
|
103
|
-
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ~>
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: 3.4.0
|
142
|
+
- !ruby/object:Gem::Dependency
|
104
143
|
name: rack
|
105
|
-
requirement:
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
106
145
|
none: false
|
107
|
-
requirements:
|
108
|
-
- -
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version:
|
146
|
+
requirements:
|
147
|
+
- - ! '>='
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: '0'
|
111
150
|
type: :development
|
112
151
|
prerelease: false
|
113
|
-
version_requirements:
|
114
|
-
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
154
|
+
requirements:
|
155
|
+
- - ! '>='
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: '0'
|
158
|
+
- !ruby/object:Gem::Dependency
|
115
159
|
name: simplecov
|
116
|
-
requirement:
|
160
|
+
requirement: !ruby/object:Gem::Requirement
|
117
161
|
none: false
|
118
|
-
requirements:
|
162
|
+
requirements:
|
119
163
|
- - ~>
|
120
|
-
- !ruby/object:Gem::Version
|
164
|
+
- !ruby/object:Gem::Version
|
121
165
|
version: 0.5.4
|
122
166
|
type: :development
|
123
167
|
prerelease: false
|
124
|
-
version_requirements:
|
125
|
-
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
170
|
+
requirements:
|
171
|
+
- - ~>
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: 0.5.4
|
174
|
+
- !ruby/object:Gem::Dependency
|
126
175
|
name: simplecov-rcov
|
127
|
-
requirement:
|
176
|
+
requirement: !ruby/object:Gem::Requirement
|
128
177
|
none: false
|
129
|
-
requirements:
|
130
|
-
- -
|
131
|
-
- !ruby/object:Gem::Version
|
132
|
-
version:
|
178
|
+
requirements:
|
179
|
+
- - ! '>='
|
180
|
+
- !ruby/object:Gem::Version
|
181
|
+
version: '0'
|
133
182
|
type: :development
|
134
183
|
prerelease: false
|
135
|
-
version_requirements:
|
136
|
-
|
184
|
+
version_requirements: !ruby/object:Gem::Requirement
|
185
|
+
none: false
|
186
|
+
requirements:
|
187
|
+
- - ! '>='
|
188
|
+
- !ruby/object:Gem::Version
|
189
|
+
version: '0'
|
190
|
+
- !ruby/object:Gem::Dependency
|
137
191
|
name: gem_publisher
|
138
|
-
requirement:
|
192
|
+
requirement: !ruby/object:Gem::Requirement
|
139
193
|
none: false
|
140
|
-
requirements:
|
194
|
+
requirements:
|
141
195
|
- - ~>
|
142
|
-
- !ruby/object:Gem::Version
|
196
|
+
- !ruby/object:Gem::Version
|
143
197
|
version: 1.1.1
|
144
198
|
type: :development
|
145
199
|
prerelease: false
|
146
|
-
version_requirements:
|
200
|
+
version_requirements: !ruby/object:Gem::Requirement
|
201
|
+
none: false
|
202
|
+
requirements:
|
203
|
+
- - ~>
|
204
|
+
- !ruby/object:Gem::Version
|
205
|
+
version: 1.1.1
|
147
206
|
description: A set of adapters providing easy access to the GDS gov.uk APIs
|
148
|
-
email:
|
207
|
+
email:
|
149
208
|
- jystewart@gmail.com
|
150
209
|
executables: []
|
151
|
-
|
152
210
|
extensions: []
|
153
|
-
|
154
211
|
extra_rdoc_files: []
|
155
|
-
|
156
|
-
|
212
|
+
files:
|
213
|
+
- lib/gds_api/base.rb
|
214
|
+
- lib/gds_api/contactotron.rb
|
157
215
|
- lib/gds_api/content_api.rb
|
216
|
+
- lib/gds_api/core-ext/openstruct.rb
|
217
|
+
- lib/gds_api/exceptions.rb
|
218
|
+
- lib/gds_api/helpers.rb
|
219
|
+
- lib/gds_api/imminence.rb
|
220
|
+
- lib/gds_api/json_client.rb
|
158
221
|
- lib/gds_api/licence_application.rb
|
159
|
-
- lib/gds_api/
|
160
|
-
- lib/gds_api/
|
222
|
+
- lib/gds_api/needotron.rb
|
223
|
+
- lib/gds_api/panopticon/registerer.rb
|
224
|
+
- lib/gds_api/panopticon.rb
|
225
|
+
- lib/gds_api/part_methods.rb
|
226
|
+
- lib/gds_api/publisher.rb
|
227
|
+
- lib/gds_api/response.rb
|
228
|
+
- lib/gds_api/rummager.rb
|
161
229
|
- lib/gds_api/test_helpers/contactotron.rb
|
230
|
+
- lib/gds_api/test_helpers/content_api.rb
|
231
|
+
- lib/gds_api/test_helpers/imminence.rb
|
162
232
|
- lib/gds_api/test_helpers/json_client_helper.rb
|
163
|
-
- lib/gds_api/test_helpers/
|
233
|
+
- lib/gds_api/test_helpers/licence_application.rb
|
164
234
|
- lib/gds_api/test_helpers/panopticon.rb
|
165
|
-
- lib/gds_api/test_helpers/
|
166
|
-
- lib/gds_api/part_methods.rb
|
167
|
-
- lib/gds_api/needotron.rb
|
235
|
+
- lib/gds_api/test_helpers/publisher.rb
|
168
236
|
- lib/gds_api/typhoeus_client.rb
|
169
|
-
- lib/gds_api/json_client.rb
|
170
|
-
- lib/gds_api/contactotron.rb
|
171
|
-
- lib/gds_api/response.rb
|
172
|
-
- lib/gds_api/panopticon/registerer.rb
|
173
|
-
- lib/gds_api/publisher.rb
|
174
|
-
- lib/gds_api/exceptions.rb
|
175
237
|
- lib/gds_api/version.rb
|
176
|
-
- lib/gds_api/helpers.rb
|
177
|
-
- lib/gds_api/base.rb
|
178
|
-
- lib/gds_api/panopticon.rb
|
179
|
-
- lib/gds_api/core-ext/openstruct.rb
|
180
|
-
- lib/gds_api/imminence.rb
|
181
238
|
- README.md
|
182
239
|
- Rakefile
|
183
|
-
- test/imminence_api_test.rb
|
184
240
|
- test/contactotron_api_test.rb
|
185
|
-
- test/
|
241
|
+
- test/content_api_test.rb
|
242
|
+
- test/gds_api_base_test.rb
|
243
|
+
- test/imminence_api_test.rb
|
186
244
|
- test/json_client_test.rb
|
187
|
-
- test/
|
188
|
-
- test/panopticon_registerer_test.rb
|
245
|
+
- test/licence_application_api_test.rb
|
189
246
|
- test/panopticon_api_test.rb
|
247
|
+
- test/panopticon_registerer_test.rb
|
248
|
+
- test/publisher_api_test.rb
|
249
|
+
- test/rummager_test.rb
|
190
250
|
- test/test_helper.rb
|
191
|
-
- test/gds_api_base_test.rb
|
192
|
-
- test/content_api_test.rb
|
193
251
|
homepage: http://github.com/alphagov/gds-api-adapters
|
194
252
|
licenses: []
|
195
|
-
|
196
253
|
post_install_message:
|
197
254
|
rdoc_options: []
|
198
|
-
|
199
|
-
require_paths:
|
255
|
+
require_paths:
|
200
256
|
- lib
|
201
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
257
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
202
258
|
none: false
|
203
|
-
requirements:
|
204
|
-
- -
|
205
|
-
- !ruby/object:Gem::Version
|
206
|
-
|
207
|
-
segments:
|
259
|
+
requirements:
|
260
|
+
- - ! '>='
|
261
|
+
- !ruby/object:Gem::Version
|
262
|
+
version: '0'
|
263
|
+
segments:
|
208
264
|
- 0
|
209
|
-
|
210
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
265
|
+
hash: -3693356680320886442
|
266
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
211
267
|
none: false
|
212
|
-
requirements:
|
213
|
-
- -
|
214
|
-
- !ruby/object:Gem::Version
|
215
|
-
|
216
|
-
segments:
|
268
|
+
requirements:
|
269
|
+
- - ! '>='
|
270
|
+
- !ruby/object:Gem::Version
|
271
|
+
version: '0'
|
272
|
+
segments:
|
217
273
|
- 0
|
218
|
-
|
274
|
+
hash: -3693356680320886442
|
219
275
|
requirements: []
|
220
|
-
|
221
276
|
rubyforge_project:
|
222
277
|
rubygems_version: 1.8.24
|
223
278
|
signing_key:
|
224
279
|
specification_version: 3
|
225
280
|
summary: Adapters to work with GDS APIs
|
226
|
-
test_files:
|
227
|
-
- test/imminence_api_test.rb
|
281
|
+
test_files:
|
228
282
|
- test/contactotron_api_test.rb
|
229
|
-
- test/
|
283
|
+
- test/content_api_test.rb
|
284
|
+
- test/gds_api_base_test.rb
|
285
|
+
- test/imminence_api_test.rb
|
230
286
|
- test/json_client_test.rb
|
231
|
-
- test/
|
232
|
-
- test/panopticon_registerer_test.rb
|
287
|
+
- test/licence_application_api_test.rb
|
233
288
|
- test/panopticon_api_test.rb
|
289
|
+
- test/panopticon_registerer_test.rb
|
290
|
+
- test/publisher_api_test.rb
|
291
|
+
- test/rummager_test.rb
|
234
292
|
- test/test_helper.rb
|
235
|
-
- test/gds_api_base_test.rb
|
236
|
-
- test/content_api_test.rb
|