gds-api-adapters 14.9.0 → 14.10.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/email_alert_api.rb +29 -0
- data/lib/gds_api/helpers.rb +5 -0
- data/lib/gds_api/test_helpers/email_alert_api.rb +69 -0
- data/lib/gds_api/version.rb +1 -1
- data/test/email_alert_api_test.rb +184 -0
- data/test/rummager_test.rb +3 -4
- metadata +55 -43
@@ -0,0 +1,29 @@
|
|
1
|
+
require_relative 'base'
|
2
|
+
require_relative 'exceptions'
|
3
|
+
|
4
|
+
class GdsApi::EmailAlertApi < GdsApi::Base
|
5
|
+
|
6
|
+
def find_or_create_subscriber_list(attributes)
|
7
|
+
search_subscriber_list_by_tags(attributes.fetch("tags"))
|
8
|
+
rescue GdsApi::HTTPNotFound
|
9
|
+
create_subscriber_list(attributes)
|
10
|
+
end
|
11
|
+
|
12
|
+
def search_subscriber_list_by_tags(tags)
|
13
|
+
get_json!("#{endpoint}/subscriber_lists?" + nested_query_string(tags: tags))
|
14
|
+
end
|
15
|
+
|
16
|
+
def create_subscriber_list(attributes)
|
17
|
+
post_json!("#{endpoint}/subscriber_lists", attributes)
|
18
|
+
end
|
19
|
+
|
20
|
+
def send_alert(publication)
|
21
|
+
post_json!("#{endpoint}/notifications", publication)
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def nested_query_string(params)
|
27
|
+
Rack::Utils.build_nested_query(params)
|
28
|
+
end
|
29
|
+
end
|
data/lib/gds_api/helpers.rb
CHANGED
@@ -11,6 +11,7 @@ require 'gds_api/panopticon'
|
|
11
11
|
require 'gds_api/publisher'
|
12
12
|
require 'gds_api/worldwide'
|
13
13
|
require 'gds_api/finder_api'
|
14
|
+
require 'gds_api/email_alert_api'
|
14
15
|
|
15
16
|
module GdsApi
|
16
17
|
module Helpers
|
@@ -70,6 +71,10 @@ module GdsApi
|
|
70
71
|
@finder_api ||= FinderApi.new(Plek.current.find("finder-api"), options)
|
71
72
|
end
|
72
73
|
|
74
|
+
def email_alert_api(options = {})
|
75
|
+
@email_alert_api ||= EmailAlertApi.new(Plek.current.find("email-alert-api"), options)
|
76
|
+
end
|
77
|
+
|
73
78
|
def self.included(klass)
|
74
79
|
if klass.respond_to?(:helper_method)
|
75
80
|
klass.helper_method :publisher_api, :panopticon_api, :imminence_api, :content_api, :licence_application_api
|
@@ -0,0 +1,69 @@
|
|
1
|
+
require 'gds_api/test_helpers/json_client_helper'
|
2
|
+
require 'json'
|
3
|
+
|
4
|
+
module GdsApi
|
5
|
+
module TestHelpers
|
6
|
+
module EmailAlertApi
|
7
|
+
def email_alert_api_has_subscriber_list(attributes)
|
8
|
+
title = attributes.fetch("title")
|
9
|
+
tags = attributes.fetch("tags")
|
10
|
+
|
11
|
+
query = Rack::Utils.build_nested_query(tags: tags)
|
12
|
+
|
13
|
+
stub_request(:get, "http://some-domain/subscriber_lists?#{query}")
|
14
|
+
.to_return(
|
15
|
+
:status => 200,
|
16
|
+
:body => get_subscriber_list_response(attributes).to_json,
|
17
|
+
)
|
18
|
+
end
|
19
|
+
|
20
|
+
def email_alert_api_does_not_have_subscriber_list(attributes)
|
21
|
+
query = Rack::Utils.build_nested_query(tags: attributes.fetch("tags"))
|
22
|
+
|
23
|
+
stub_request(:get, "http://some-domain/subscriber_lists?#{query}")
|
24
|
+
.to_return(status: 404)
|
25
|
+
end
|
26
|
+
|
27
|
+
def email_alert_api_creates_subscriber_list(attributes)
|
28
|
+
stub_request(:post, "http://some-domain/subscriber_lists")
|
29
|
+
.to_return(
|
30
|
+
:status => 201,
|
31
|
+
:body => get_subscriber_list_response(attributes).to_json,
|
32
|
+
)
|
33
|
+
end
|
34
|
+
|
35
|
+
def email_alert_api_refuses_to_create_subscriber_list
|
36
|
+
stub_request(:post, "http://some-domain/subscriber_lists")
|
37
|
+
.to_return(
|
38
|
+
:status => 422,
|
39
|
+
)
|
40
|
+
end
|
41
|
+
|
42
|
+
def get_subscriber_list_response(attributes)
|
43
|
+
{
|
44
|
+
"subscriber_list" => {
|
45
|
+
"id" => "447135c3-07d6-4c3a-8a3b-efa49ef70e52",
|
46
|
+
"subscription_url" => "https://stage-public.govdelivery.com/accounts/UKGOVUK/subscriber/new?topic_id=UKGOVUK_1234",
|
47
|
+
"gov_delivery_id" => "UKGOVUK_1234",
|
48
|
+
"title" => "Some title",
|
49
|
+
"tags" => {
|
50
|
+
"format" => ["some-format"],
|
51
|
+
}
|
52
|
+
}.merge(attributes)
|
53
|
+
}
|
54
|
+
end
|
55
|
+
|
56
|
+
def email_alert_api_accepts_alert
|
57
|
+
stub_request(:post, "http://some-domain/notifications")
|
58
|
+
.to_return(
|
59
|
+
:status => 202,
|
60
|
+
:body => {}.to_json,
|
61
|
+
)
|
62
|
+
end
|
63
|
+
|
64
|
+
def post_alert_response
|
65
|
+
{}
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
data/lib/gds_api/version.rb
CHANGED
@@ -0,0 +1,184 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
require 'gds_api/email_alert_api'
|
3
|
+
require 'gds_api/test_helpers/email_alert_api'
|
4
|
+
|
5
|
+
describe GdsApi::EmailAlertApi do
|
6
|
+
include GdsApi::TestHelpers::EmailAlertApi
|
7
|
+
|
8
|
+
let(:base_url) { "http://some-domain" }
|
9
|
+
let(:api_client) { GdsApi::EmailAlertApi.new(base_url) }
|
10
|
+
|
11
|
+
let(:title) { "Some Title" }
|
12
|
+
let(:tags) {
|
13
|
+
{
|
14
|
+
"format" => ["some-document-format"],
|
15
|
+
}
|
16
|
+
}
|
17
|
+
|
18
|
+
describe "alerts" do
|
19
|
+
let(:path) { "/alerts" }
|
20
|
+
let(:subject) { "Email subject" }
|
21
|
+
let(:publication_params) {
|
22
|
+
{
|
23
|
+
"title" => title,
|
24
|
+
"subject" => subject,
|
25
|
+
"tags" => tags,
|
26
|
+
}
|
27
|
+
}
|
28
|
+
|
29
|
+
before do
|
30
|
+
email_alert_api_accepts_alert
|
31
|
+
end
|
32
|
+
|
33
|
+
it "posts a new alert" do
|
34
|
+
assert api_client.send_alert(publication_params)
|
35
|
+
|
36
|
+
assert_requested(:post, "#{base_url}/notifications", publication_params)
|
37
|
+
end
|
38
|
+
|
39
|
+
it "returns the an empty response" do
|
40
|
+
assert api_client.send_alert(publication_params).to_hash.empty?
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
describe "subscriber lists" do
|
45
|
+
let(:path){ "/subscriber_lists" }
|
46
|
+
let(:expected_subscription_url) { "a subscription url" }
|
47
|
+
|
48
|
+
describe "#find_or_create_subscriber_list_by_tags" do
|
49
|
+
let(:params) {
|
50
|
+
{
|
51
|
+
"title" => title,
|
52
|
+
"tags" => tags,
|
53
|
+
}
|
54
|
+
}
|
55
|
+
|
56
|
+
describe "a subscriber list with that tag set does not yet exist" do
|
57
|
+
before do
|
58
|
+
email_alert_api_does_not_have_subscriber_list(
|
59
|
+
"tags" => tags,
|
60
|
+
)
|
61
|
+
|
62
|
+
email_alert_api_creates_subscriber_list(
|
63
|
+
"title" => title,
|
64
|
+
"tags" => tags,
|
65
|
+
"subscription_url" => expected_subscription_url,
|
66
|
+
)
|
67
|
+
end
|
68
|
+
|
69
|
+
it "creates the list and returns its attributes" do
|
70
|
+
subscriber_list_attrs = api_client.find_or_create_subscriber_list(params)
|
71
|
+
.to_hash
|
72
|
+
.fetch("subscriber_list")
|
73
|
+
|
74
|
+
assert_equal(
|
75
|
+
expected_subscription_url,
|
76
|
+
subscriber_list_attrs.fetch("subscription_url"),
|
77
|
+
)
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
describe "a subscriber list with that tag set does already exist" do
|
82
|
+
before do
|
83
|
+
email_alert_api_has_subscriber_list(
|
84
|
+
"title" => "Some Title",
|
85
|
+
"tags" => tags,
|
86
|
+
"subscription_url" => expected_subscription_url,
|
87
|
+
)
|
88
|
+
end
|
89
|
+
|
90
|
+
it "returns the subscriber list attributes" do
|
91
|
+
subscriber_list_attrs = api_client.find_or_create_subscriber_list(params)
|
92
|
+
.to_hash
|
93
|
+
.fetch("subscriber_list")
|
94
|
+
|
95
|
+
assert_equal(
|
96
|
+
expected_subscription_url,
|
97
|
+
subscriber_list_attrs.fetch("subscription_url"),
|
98
|
+
)
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
102
|
+
|
103
|
+
describe "#create_subscriber_list" do
|
104
|
+
let(:params) {
|
105
|
+
{
|
106
|
+
"title" => title,
|
107
|
+
"tags" => tags,
|
108
|
+
}
|
109
|
+
}
|
110
|
+
|
111
|
+
before do
|
112
|
+
email_alert_api_creates_subscriber_list(
|
113
|
+
"title" => title,
|
114
|
+
"tags" => tags,
|
115
|
+
"subscription_url" => expected_subscription_url,
|
116
|
+
)
|
117
|
+
end
|
118
|
+
|
119
|
+
describe "with valid attributes" do
|
120
|
+
it "creates the list and returns its attributes" do
|
121
|
+
subscriber_list_attrs = api_client.create_subscriber_list(params)
|
122
|
+
.to_hash
|
123
|
+
.fetch("subscriber_list")
|
124
|
+
|
125
|
+
assert_equal(
|
126
|
+
expected_subscription_url,
|
127
|
+
subscriber_list_attrs.fetch("subscription_url"),
|
128
|
+
)
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
132
|
+
describe "with invalid attributes or list with tag set exists" do
|
133
|
+
before do
|
134
|
+
email_alert_api_refuses_to_create_subscriber_list
|
135
|
+
end
|
136
|
+
|
137
|
+
it "raises ClientError" do
|
138
|
+
assert_raises(GdsApi::HTTPClientError) {
|
139
|
+
api_client.create_subscriber_list(params)
|
140
|
+
}
|
141
|
+
end
|
142
|
+
end
|
143
|
+
end
|
144
|
+
|
145
|
+
describe "#search_subscriber_list_by_tags" do
|
146
|
+
let(:path) { "/subscriber_lists" }
|
147
|
+
|
148
|
+
describe "a subscriber list with that tag set already exists" do
|
149
|
+
before do
|
150
|
+
email_alert_api_has_subscriber_list(
|
151
|
+
"title" => "Some Title",
|
152
|
+
"tags" => tags,
|
153
|
+
"subscription_url" => expected_subscription_url,
|
154
|
+
)
|
155
|
+
end
|
156
|
+
|
157
|
+
it "returns the subscriber list attributes" do
|
158
|
+
subscriber_list_attrs = api_client.search_subscriber_list_by_tags(tags)
|
159
|
+
.to_hash
|
160
|
+
.fetch("subscriber_list")
|
161
|
+
|
162
|
+
assert_equal(
|
163
|
+
expected_subscription_url,
|
164
|
+
subscriber_list_attrs.fetch("subscription_url"),
|
165
|
+
)
|
166
|
+
end
|
167
|
+
end
|
168
|
+
|
169
|
+
describe "a subscriber list with that tag set does not exist" do
|
170
|
+
before do
|
171
|
+
email_alert_api_does_not_have_subscriber_list(
|
172
|
+
"tags" => tags,
|
173
|
+
)
|
174
|
+
end
|
175
|
+
|
176
|
+
it "raises" do
|
177
|
+
assert_raises(GdsApi::HTTPNotFound) {
|
178
|
+
api_client.search_subscriber_list_by_tags(tags)
|
179
|
+
}
|
180
|
+
end
|
181
|
+
end
|
182
|
+
end
|
183
|
+
end
|
184
|
+
end
|
data/test/rummager_test.rb
CHANGED
@@ -135,10 +135,9 @@ describe GdsApi::Rummager do
|
|
135
135
|
it "#advanced_search should issue a request for all the params supplied" do
|
136
136
|
GdsApi::Rummager.new("http://example.com").advanced_search({keywords: "query & stuff", topics: ["1","2"], order: {public_timestamp: "desc"}})
|
137
137
|
|
138
|
-
#the actual request is "?keywords=query+%26+stuff&topic[0]=1&topic[1]=2&order[public_timestamp]=desc", but Webmock appears to be re-escaping.
|
139
138
|
assert_requested :get, /keywords=query%20%26%20stuff/
|
140
|
-
assert_requested :get, /topics
|
141
|
-
assert_requested :get, /order
|
139
|
+
assert_requested :get, /topics\[\]=1&topics\[\]=2/
|
140
|
+
assert_requested :get, /order\[public_timestamp\]=desc/
|
142
141
|
end
|
143
142
|
|
144
143
|
# tests for unified search
|
@@ -205,7 +204,7 @@ describe GdsApi::Rummager do
|
|
205
204
|
)
|
206
205
|
|
207
206
|
assert_requested :get, /q=query%20%26%20stuff/
|
208
|
-
assert_requested :get, /filter_topics
|
207
|
+
assert_requested :get, /filter_topics\[\]=1&filter_topics\[\]=2/
|
209
208
|
assert_requested :get, /order=-public_timestamp/
|
210
209
|
end
|
211
210
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gds-api-adapters
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 14.
|
4
|
+
version: 14.10.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-10-
|
12
|
+
date: 2014-10-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: plek
|
16
|
-
requirement: &
|
16
|
+
requirement: &19203660 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *19203660
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: null_logger
|
27
|
-
requirement: &
|
27
|
+
requirement: &19202160 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *19202160
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: link_header
|
38
|
-
requirement: &
|
38
|
+
requirement: &19200200 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *19200200
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: lrucache
|
49
|
-
requirement: &
|
49
|
+
requirement: &19216200 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 0.1.1
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *19216200
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: rest-client
|
60
|
-
requirement: &
|
60
|
+
requirement: &19213000 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: 1.6.3
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *19213000
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rack-cache
|
71
|
-
requirement: &
|
71
|
+
requirement: &19210600 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *19210600
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: rdoc
|
82
|
-
requirement: &
|
82
|
+
requirement: &19226440 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - =
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: '3.12'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *19226440
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: rake
|
93
|
-
requirement: &
|
93
|
+
requirement: &19224200 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ~>
|
@@ -98,24 +98,21 @@ dependencies:
|
|
98
98
|
version: 0.9.2.2
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *19224200
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: webmock
|
104
|
-
requirement: &
|
104
|
+
requirement: &19221840 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
|
-
- -
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: '1.8'
|
110
|
-
- - <=
|
107
|
+
- - ~>
|
111
108
|
- !ruby/object:Gem::Version
|
112
|
-
version: 1.
|
109
|
+
version: '1.19'
|
113
110
|
type: :development
|
114
111
|
prerelease: false
|
115
|
-
version_requirements: *
|
112
|
+
version_requirements: *19221840
|
116
113
|
- !ruby/object:Gem::Dependency
|
117
114
|
name: mocha
|
118
|
-
requirement: &
|
115
|
+
requirement: &19249960 !ruby/object:Gem::Requirement
|
119
116
|
none: false
|
120
117
|
requirements:
|
121
118
|
- - ~>
|
@@ -123,10 +120,10 @@ dependencies:
|
|
123
120
|
version: 0.12.4
|
124
121
|
type: :development
|
125
122
|
prerelease: false
|
126
|
-
version_requirements: *
|
123
|
+
version_requirements: *19249960
|
127
124
|
- !ruby/object:Gem::Dependency
|
128
125
|
name: minitest
|
129
|
-
requirement: &
|
126
|
+
requirement: &19247260 !ruby/object:Gem::Requirement
|
130
127
|
none: false
|
131
128
|
requirements:
|
132
129
|
- - ~>
|
@@ -134,10 +131,10 @@ dependencies:
|
|
134
131
|
version: 3.4.0
|
135
132
|
type: :development
|
136
133
|
prerelease: false
|
137
|
-
version_requirements: *
|
134
|
+
version_requirements: *19247260
|
138
135
|
- !ruby/object:Gem::Dependency
|
139
136
|
name: rack
|
140
|
-
requirement: &
|
137
|
+
requirement: &19263240 !ruby/object:Gem::Requirement
|
141
138
|
none: false
|
142
139
|
requirements:
|
143
140
|
- - ! '>='
|
@@ -145,10 +142,10 @@ dependencies:
|
|
145
142
|
version: '0'
|
146
143
|
type: :development
|
147
144
|
prerelease: false
|
148
|
-
version_requirements: *
|
145
|
+
version_requirements: *19263240
|
149
146
|
- !ruby/object:Gem::Dependency
|
150
147
|
name: rack-test
|
151
|
-
requirement: &
|
148
|
+
requirement: &19289900 !ruby/object:Gem::Requirement
|
152
149
|
none: false
|
153
150
|
requirements:
|
154
151
|
- - ! '>='
|
@@ -156,10 +153,10 @@ dependencies:
|
|
156
153
|
version: '0'
|
157
154
|
type: :development
|
158
155
|
prerelease: false
|
159
|
-
version_requirements: *
|
156
|
+
version_requirements: *19289900
|
160
157
|
- !ruby/object:Gem::Dependency
|
161
158
|
name: simplecov
|
162
|
-
requirement: &
|
159
|
+
requirement: &19284340 !ruby/object:Gem::Requirement
|
163
160
|
none: false
|
164
161
|
requirements:
|
165
162
|
- - ~>
|
@@ -167,10 +164,10 @@ dependencies:
|
|
167
164
|
version: 0.5.4
|
168
165
|
type: :development
|
169
166
|
prerelease: false
|
170
|
-
version_requirements: *
|
167
|
+
version_requirements: *19284340
|
171
168
|
- !ruby/object:Gem::Dependency
|
172
169
|
name: simplecov-rcov
|
173
|
-
requirement: &
|
170
|
+
requirement: &19298140 !ruby/object:Gem::Requirement
|
174
171
|
none: false
|
175
172
|
requirements:
|
176
173
|
- - ! '>='
|
@@ -178,10 +175,10 @@ dependencies:
|
|
178
175
|
version: '0'
|
179
176
|
type: :development
|
180
177
|
prerelease: false
|
181
|
-
version_requirements: *
|
178
|
+
version_requirements: *19298140
|
182
179
|
- !ruby/object:Gem::Dependency
|
183
180
|
name: gem_publisher
|
184
|
-
requirement: &
|
181
|
+
requirement: &19293840 !ruby/object:Gem::Requirement
|
185
182
|
none: false
|
186
183
|
requirements:
|
187
184
|
- - ~>
|
@@ -189,10 +186,10 @@ dependencies:
|
|
189
186
|
version: 1.1.1
|
190
187
|
type: :development
|
191
188
|
prerelease: false
|
192
|
-
version_requirements: *
|
189
|
+
version_requirements: *19293840
|
193
190
|
- !ruby/object:Gem::Dependency
|
194
191
|
name: timecop
|
195
|
-
requirement: &
|
192
|
+
requirement: &19291900 !ruby/object:Gem::Requirement
|
196
193
|
none: false
|
197
194
|
requirements:
|
198
195
|
- - ~>
|
@@ -200,7 +197,18 @@ dependencies:
|
|
200
197
|
version: 0.5.1
|
201
198
|
type: :development
|
202
199
|
prerelease: false
|
203
|
-
version_requirements: *
|
200
|
+
version_requirements: *19291900
|
201
|
+
- !ruby/object:Gem::Dependency
|
202
|
+
name: pry
|
203
|
+
requirement: &19309860 !ruby/object:Gem::Requirement
|
204
|
+
none: false
|
205
|
+
requirements:
|
206
|
+
- - ! '>='
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: '0'
|
209
|
+
type: :development
|
210
|
+
prerelease: false
|
211
|
+
version_requirements: *19309860
|
204
212
|
description: A set of adapters providing easy access to the GDS GOV.UK APIs
|
205
213
|
email:
|
206
214
|
- jystewart@gmail.com
|
@@ -251,6 +259,7 @@ files:
|
|
251
259
|
- lib/gds_api/test_helpers/router.rb
|
252
260
|
- lib/gds_api/test_helpers/common_responses.rb
|
253
261
|
- lib/gds_api/test_helpers/business_support_api.rb
|
262
|
+
- lib/gds_api/test_helpers/email_alert_api.rb
|
254
263
|
- lib/gds_api/test_helpers/content_api.rb
|
255
264
|
- lib/gds_api/organisations.rb
|
256
265
|
- lib/gds_api/needotron.rb
|
@@ -274,6 +283,7 @@ files:
|
|
274
283
|
- lib/gds_api/publisher.rb
|
275
284
|
- lib/gds_api/router.rb
|
276
285
|
- lib/gds_api/business_support_api.rb
|
286
|
+
- lib/gds_api/email_alert_api.rb
|
277
287
|
- lib/gds_api/external_link_tracker.rb
|
278
288
|
- lib/gds_api/content_api.rb
|
279
289
|
- README.md
|
@@ -297,6 +307,7 @@ files:
|
|
297
307
|
- test/middleware/govuk_request_id_sniffer_test.rb
|
298
308
|
- test/rummager_test.rb
|
299
309
|
- test/json_client_test.rb
|
310
|
+
- test/email_alert_api_test.rb
|
300
311
|
- test/content_api_test.rb
|
301
312
|
- test/response_test.rb
|
302
313
|
- test/organisations_api_test.rb
|
@@ -331,7 +342,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
331
342
|
version: '0'
|
332
343
|
segments:
|
333
344
|
- 0
|
334
|
-
hash:
|
345
|
+
hash: 305882728721763385
|
335
346
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
336
347
|
none: false
|
337
348
|
requirements:
|
@@ -340,7 +351,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
340
351
|
version: '0'
|
341
352
|
segments:
|
342
353
|
- 0
|
343
|
-
hash:
|
354
|
+
hash: 305882728721763385
|
344
355
|
requirements: []
|
345
356
|
rubyforge_project:
|
346
357
|
rubygems_version: 1.8.11
|
@@ -367,6 +378,7 @@ test_files:
|
|
367
378
|
- test/middleware/govuk_request_id_sniffer_test.rb
|
368
379
|
- test/rummager_test.rb
|
369
380
|
- test/json_client_test.rb
|
381
|
+
- test/email_alert_api_test.rb
|
370
382
|
- test/content_api_test.rb
|
371
383
|
- test/response_test.rb
|
372
384
|
- test/organisations_api_test.rb
|