gds-api-adapters 63.3.0 → 67.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +3 -23
- data/Rakefile +7 -8
- data/lib/gds_api.rb +1 -15
- data/lib/gds_api/base.rb +4 -3
- data/lib/gds_api/exceptions.rb +3 -4
- data/lib/gds_api/imminence.rb +2 -2
- data/lib/gds_api/json_client.rb +8 -8
- data/lib/gds_api/list_response.rb +6 -6
- data/lib/gds_api/performance_platform/data_out.rb +21 -21
- data/lib/gds_api/publishing_api.rb +2 -2
- data/lib/gds_api/response.rb +8 -4
- data/lib/gds_api/test_helpers/asset_manager.rb +0 -17
- data/lib/gds_api/test_helpers/calendars.rb +0 -9
- data/lib/gds_api/test_helpers/content_store.rb +0 -9
- data/lib/gds_api/test_helpers/email_alert_api.rb +8 -32
- data/lib/gds_api/test_helpers/imminence.rb +11 -14
- data/lib/gds_api/test_helpers/licence_application.rb +8 -16
- data/lib/gds_api/test_helpers/link_checker_api.rb +0 -8
- data/lib/gds_api/test_helpers/local_links_manager.rb +0 -13
- data/lib/gds_api/test_helpers/mapit.rb +15 -26
- data/lib/gds_api/test_helpers/organisations.rb +13 -18
- data/lib/gds_api/test_helpers/performance_platform/data_out.rb +34 -34
- data/lib/gds_api/test_helpers/publishing_api.rb +47 -65
- data/lib/gds_api/test_helpers/search.rb +5 -5
- data/lib/gds_api/test_helpers/support.rb +0 -5
- data/lib/gds_api/test_helpers/support_api.rb +16 -20
- data/lib/gds_api/test_helpers/worldwide.rb +52 -32
- data/lib/gds_api/version.rb +1 -1
- metadata +3 -6
- data/lib/gds_api/publishing_api_v2.rb +0 -14
- data/lib/gds_api/test_helpers/alias_deprecated.rb +0 -13
- data/lib/gds_api/test_helpers/publishing_api_v2.rb +0 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 35ee9f533f626d99fe8f62ae41b6445e2f75729c333b096c52b90c49555e1d69
|
4
|
+
data.tar.gz: b1413571e9e8bf09d19497c88790549c947c66258fd25bd11884a6ade859acdf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b05108e31ccb65d3c2e4735792de423580f2cdbb2ea8d8d0c6de92955b24084559f7e25b6aaed2cbca34b17734d37f2f9df98a5f8d676bcf8e072dc3880aef2b
|
7
|
+
data.tar.gz: 37ff704afc41d4b516ee043358099d9aadc4097ab0d6f70f47a3c38ed922e29d22c0f3b82a1bcac612c53af8c9649a72066709ddf8134ffe1279125f4e81d62f
|
data/README.md
CHANGED
@@ -5,9 +5,7 @@ A set of API adapters to work with the GDS APIs.
|
|
5
5
|
Example usage:
|
6
6
|
|
7
7
|
```ruby
|
8
|
-
|
9
|
-
search = GdsApi::Search.new(Plek.new.find('search))
|
10
|
-
results = search.search(q: "taxes")
|
8
|
+
GdsApi.publishing_api.get_content("f3bbdec2-0e62-4520-a7fd-6ffd5d36e03a")
|
11
9
|
```
|
12
10
|
|
13
11
|
Example adapters for frequently used applications:
|
@@ -39,12 +37,11 @@ GdsApi::Base.logger = Logger.new("/path/to/file.log")
|
|
39
37
|
## Setting the timeout
|
40
38
|
|
41
39
|
By default the JsonClient timeout is set to 4 seconds. If this is exceeded a
|
42
|
-
`GdsApi::TimedOutException` will be raised.
|
43
|
-
override this timeout. Alternatively, you can override this in the application
|
40
|
+
`GdsApi::TimedOutException` will be raised. You can override this by doing:
|
44
41
|
that uses the adapter with:
|
45
42
|
|
46
43
|
```ruby
|
47
|
-
|
44
|
+
adapter = GdsApi.publishing_api(timeout: <number_of_seconds>)
|
48
45
|
```
|
49
46
|
|
50
47
|
In most cases, there is an upper-limit of 30 seconds imposed by the app server
|
@@ -85,23 +82,6 @@ There are also test helpers for stubbing various requests in other apps.
|
|
85
82
|
|
86
83
|
See [all the test helpers in lib/gds_api/test_helpers](/lib/gds_api/test_helpers).
|
87
84
|
|
88
|
-
### Dependencies
|
89
|
-
|
90
|
-
Some of the helpers come with additional dependencies that you'll need to
|
91
|
-
have installed and configured in your consuming app/lib.
|
92
|
-
|
93
|
-
At time of writing, these are:
|
94
|
-
|
95
|
-
* [WebMock](https://github.com/bblimke/webmock)
|
96
|
-
|
97
|
-
### Documentation
|
98
|
-
|
99
|
-
See [RubyDoc](http://www.rubydoc.info/gems/gds-api-adapters) for some limited documentation.
|
100
|
-
|
101
|
-
To run a Yard server locally to preview documentation, run:
|
102
|
-
|
103
|
-
$ bundle exec yard server --reload
|
104
|
-
|
105
85
|
## Licence
|
106
86
|
|
107
87
|
Released under the MIT Licence, a copy of which can be found in the file
|
data/Rakefile
CHANGED
@@ -1,7 +1,5 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
|
3
1
|
require "rdoc/task"
|
4
|
-
require
|
2
|
+
require "rake/testtask"
|
5
3
|
|
6
4
|
RDoc::Task.new do |rd|
|
7
5
|
rd.rdoc_files.include("lib/**/*.rb")
|
@@ -13,14 +11,15 @@ Rake::TestTask.new("test") do |t|
|
|
13
11
|
t.test_files = FileList["test/**/*_test.rb"]
|
14
12
|
t.warning = false
|
15
13
|
end
|
16
|
-
task default: :test
|
17
14
|
|
18
|
-
|
15
|
+
task default: %i[lint test]
|
16
|
+
|
17
|
+
require "pact_broker/client/tasks"
|
19
18
|
|
20
19
|
def configure_pact_broker_location(task)
|
21
20
|
task.pact_broker_base_url = ENV.fetch("PACT_BROKER_BASE_URL")
|
22
|
-
if ENV[
|
23
|
-
task.pact_broker_basic_auth = { username: ENV[
|
21
|
+
if ENV["PACT_BROKER_USERNAME"]
|
22
|
+
task.pact_broker_basic_auth = { username: ENV["PACT_BROKER_USERNAME"], password: ENV["PACT_BROKER_PASSWORD"] }
|
24
23
|
end
|
25
24
|
end
|
26
25
|
|
@@ -31,5 +30,5 @@ end
|
|
31
30
|
|
32
31
|
desc "Run the linter against changed files"
|
33
32
|
task :lint do
|
34
|
-
sh "bundle exec rubocop --format clang
|
33
|
+
sh "bundle exec rubocop --format clang"
|
35
34
|
end
|
data/lib/gds_api.rb
CHANGED
@@ -11,7 +11,6 @@ require "gds_api/mapit"
|
|
11
11
|
require "gds_api/maslow"
|
12
12
|
require "gds_api/organisations"
|
13
13
|
require "gds_api/publishing_api"
|
14
|
-
require "gds_api/publishing_api_v2"
|
15
14
|
require "gds_api/router"
|
16
15
|
require "gds_api/search"
|
17
16
|
require "gds_api/support"
|
@@ -139,19 +138,6 @@ module GdsApi
|
|
139
138
|
)
|
140
139
|
end
|
141
140
|
|
142
|
-
# Creates a GdsApi::PublishingApiV2 adapter
|
143
|
-
#
|
144
|
-
# This will set a bearer token if a PUBLISHING_API_BEARER_TOKEN environment
|
145
|
-
# variable is set
|
146
|
-
#
|
147
|
-
# @return [GdsApi::PublishingApiV2]
|
148
|
-
def self.publishing_api_v2(options = {})
|
149
|
-
GdsApi::PublishingApiV2.new(
|
150
|
-
Plek.find("publishing-api"),
|
151
|
-
{ bearer_token: ENV["PUBLISHING_API_BEARER_TOKEN"] }.merge(options),
|
152
|
-
)
|
153
|
-
end
|
154
|
-
|
155
141
|
# Creates a GdsApi::Router adapter for communicating with Router API
|
156
142
|
#
|
157
143
|
# This will set a bearer token if a ROUTER_API_BEARER_TOKEN environment
|
@@ -197,6 +183,6 @@ module GdsApi
|
|
197
183
|
#
|
198
184
|
# @return [GdsApi::Worldwide]
|
199
185
|
def self.worldwide(options = {})
|
200
|
-
GdsApi::Worldwide.new(Plek.
|
186
|
+
GdsApi::Worldwide.new(Plek.new.website_root, options)
|
201
187
|
end
|
202
188
|
end
|
data/lib/gds_api/base.rb
CHANGED
@@ -24,7 +24,8 @@ class GdsApi::Base
|
|
24
24
|
:put_json,
|
25
25
|
:patch_json,
|
26
26
|
:delete_json,
|
27
|
-
:get_raw,
|
27
|
+
:get_raw,
|
28
|
+
:get_raw!,
|
28
29
|
:put_multipart,
|
29
30
|
:post_multipart
|
30
31
|
|
@@ -69,9 +70,9 @@ private
|
|
69
70
|
param_pairs = params.sort.map { |key, value|
|
70
71
|
case value
|
71
72
|
when Array
|
72
|
-
value.map
|
73
|
+
value.map do |v|
|
73
74
|
"#{CGI.escape(key.to_s + '[]')}=#{CGI.escape(v.to_s)}"
|
74
|
-
|
75
|
+
end
|
75
76
|
else
|
76
77
|
"#{CGI.escape(key.to_s)}=#{CGI.escape(value.to_s)}"
|
77
78
|
end
|
data/lib/gds_api/exceptions.rb
CHANGED
@@ -22,11 +22,10 @@ module GdsApi
|
|
22
22
|
class HTTPErrorResponse < BaseError
|
23
23
|
attr_accessor :code, :error_details
|
24
24
|
|
25
|
-
def initialize(code, message = nil, error_details = nil
|
25
|
+
def initialize(code, message = nil, error_details = nil)
|
26
26
|
super(message)
|
27
27
|
@code = code
|
28
28
|
@error_details = error_details
|
29
|
-
@request_body = request_body
|
30
29
|
end
|
31
30
|
end
|
32
31
|
|
@@ -53,8 +52,8 @@ module GdsApi
|
|
53
52
|
class HTTPGatewayTimeout < HTTPIntermittentServerError; end
|
54
53
|
|
55
54
|
module ExceptionHandling
|
56
|
-
def build_specific_http_error(error, url, details = nil
|
57
|
-
message = "URL: #{url}\nResponse body:\n#{error.http_body}
|
55
|
+
def build_specific_http_error(error, url, details = nil)
|
56
|
+
message = "URL: #{url}\nResponse body:\n#{error.http_body}"
|
58
57
|
code = error.http_code
|
59
58
|
error_class_for_code(code).new(code, message, details)
|
60
59
|
end
|
data/lib/gds_api/imminence.rb
CHANGED
@@ -20,8 +20,8 @@ class GdsApi::Imminence < GdsApi::Base
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def self.parse_place_hash(place_hash)
|
23
|
-
location =
|
24
|
-
address =
|
23
|
+
location = extract_location_hash(place_hash["location"])
|
24
|
+
address = extract_address_hash(place_hash)
|
25
25
|
|
26
26
|
place_hash.merge(location).merge(address)
|
27
27
|
end
|
data/lib/gds_api/json_client.rb
CHANGED
@@ -29,7 +29,7 @@ module GdsApi
|
|
29
29
|
end
|
30
30
|
|
31
31
|
def self.default_request_with_json_body_headers
|
32
|
-
|
32
|
+
default_request_headers.merge(json_body_headers)
|
33
33
|
end
|
34
34
|
|
35
35
|
def self.json_body_headers
|
@@ -83,7 +83,7 @@ module GdsApi
|
|
83
83
|
def do_raw_request(method, url, params = nil)
|
84
84
|
do_request(method, url, params)
|
85
85
|
rescue RestClient::Exception => e
|
86
|
-
raise build_specific_http_error(e, url, nil
|
86
|
+
raise build_specific_http_error(e, url, nil)
|
87
87
|
end
|
88
88
|
|
89
89
|
# method: the symbolic name of the method to use, e.g. :get, :post
|
@@ -105,11 +105,11 @@ module GdsApi
|
|
105
105
|
rescue JSON::ParserError
|
106
106
|
nil
|
107
107
|
end
|
108
|
-
raise build_specific_http_error(e, url, error_details
|
108
|
+
raise build_specific_http_error(e, url, error_details)
|
109
109
|
end
|
110
110
|
|
111
111
|
# If no custom response is given, just instantiate Response
|
112
|
-
create_response ||=
|
112
|
+
create_response ||= proc { |r| Response.new(r) }
|
113
113
|
create_response.call(response)
|
114
114
|
end
|
115
115
|
|
@@ -177,10 +177,10 @@ module GdsApi
|
|
177
177
|
::RestClient::Request.execute(method_params)
|
178
178
|
rescue Errno::ECONNREFUSED => e
|
179
179
|
logger.error loggable.merge(status: "refused", error_message: e.message, error_class: e.class.name, end_time: Time.now.to_f).to_json
|
180
|
-
raise GdsApi::EndpointNotFound
|
180
|
+
raise GdsApi::EndpointNotFound, "Could not connect to #{url}"
|
181
181
|
rescue RestClient::Exceptions::Timeout => e
|
182
182
|
logger.error loggable.merge(status: "timeout", error_message: e.message, error_class: e.class.name, end_time: Time.now.to_f).to_json
|
183
|
-
raise GdsApi::TimedOutException
|
183
|
+
raise GdsApi::TimedOutException
|
184
184
|
rescue URI::InvalidURIError => e
|
185
185
|
logger.error loggable.merge(status: "invalid_uri", error_message: e.message, error_class: e.class.name, end_time: Time.now.to_f).to_json
|
186
186
|
raise GdsApi::InvalidUrl
|
@@ -192,10 +192,10 @@ module GdsApi
|
|
192
192
|
raise
|
193
193
|
rescue Errno::ECONNRESET => e
|
194
194
|
logger.error loggable.merge(status: "connection_reset", error_message: e.message, error_class: e.class.name, end_time: Time.now.to_f).to_json
|
195
|
-
raise GdsApi::TimedOutException
|
195
|
+
raise GdsApi::TimedOutException
|
196
196
|
rescue SocketError => e
|
197
197
|
logger.error loggable.merge(status: "socket_error", error_message: e.message, error_class: e.class.name, end_time: Time.now.to_f).to_json
|
198
|
-
raise GdsApi::SocketErrorException
|
198
|
+
raise GdsApi::SocketErrorException
|
199
199
|
end
|
200
200
|
end
|
201
201
|
end
|
@@ -25,7 +25,7 @@ module GdsApi
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def has_next_page?
|
28
|
-
!
|
28
|
+
!page_link("next").nil?
|
29
29
|
end
|
30
30
|
|
31
31
|
def next_page
|
@@ -39,7 +39,7 @@ module GdsApi
|
|
39
39
|
end
|
40
40
|
|
41
41
|
def has_previous_page?
|
42
|
-
!
|
42
|
+
!page_link("previous").nil?
|
43
43
|
end
|
44
44
|
|
45
45
|
def previous_page
|
@@ -70,12 +70,12 @@ module GdsApi
|
|
70
70
|
# point. Note that the responses are stored so subsequent pages will not be
|
71
71
|
# loaded multiple times.
|
72
72
|
def with_subsequent_pages
|
73
|
-
Enumerator.new
|
74
|
-
|
73
|
+
Enumerator.new do |yielder|
|
74
|
+
each { |i| yielder << i }
|
75
75
|
if has_next_page?
|
76
|
-
next_page.with_subsequent_pages.each
|
76
|
+
next_page.with_subsequent_pages.each { |i| yielder << i }
|
77
77
|
end
|
78
|
-
|
78
|
+
end
|
79
79
|
end
|
80
80
|
|
81
81
|
private
|
@@ -70,40 +70,40 @@ module GdsApi
|
|
70
70
|
|
71
71
|
def search_terms(slug)
|
72
72
|
options = {
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
73
|
+
slug: slug,
|
74
|
+
transaction: "search-terms",
|
75
|
+
group_by: "searchKeyword",
|
76
|
+
collect: "searchUniques:sum",
|
77
77
|
}
|
78
78
|
statistics(options)
|
79
79
|
end
|
80
80
|
|
81
81
|
def searches(slug, is_multipart)
|
82
82
|
options = {
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
83
|
+
slug: slug,
|
84
|
+
transaction: "search-terms",
|
85
|
+
group_by: "pagePath",
|
86
|
+
collect: "searchUniques:sum",
|
87
87
|
}
|
88
88
|
statistics(options, is_multipart)
|
89
89
|
end
|
90
90
|
|
91
91
|
def page_views(slug, is_multipart)
|
92
92
|
options = {
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
93
|
+
slug: slug,
|
94
|
+
transaction: "page-statistics",
|
95
|
+
group_by: "pagePath",
|
96
|
+
collect: "uniquePageviews:sum",
|
97
97
|
}
|
98
98
|
statistics(options, is_multipart)
|
99
99
|
end
|
100
100
|
|
101
101
|
def problem_reports(slug, is_multipart)
|
102
102
|
options = {
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
103
|
+
slug: slug,
|
104
|
+
transaction: "page-contacts",
|
105
|
+
group_by: "pagePath",
|
106
|
+
collect: "total:sum",
|
107
107
|
}
|
108
108
|
statistics(options, is_multipart)
|
109
109
|
end
|
@@ -114,11 +114,11 @@ module GdsApi
|
|
114
114
|
# Backdrop can be found here: https://github.com/alphagov/backdrop
|
115
115
|
def statistics(options, is_multipart = false)
|
116
116
|
params = {
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
117
|
+
group_by: options[:group_by],
|
118
|
+
collect: options[:collect],
|
119
|
+
duration: 42,
|
120
|
+
period: "day",
|
121
|
+
end_at: Date.today.to_time.getutc.iso8601,
|
122
122
|
}
|
123
123
|
|
124
124
|
filter_param = is_multipart ? :filter_by_prefix : :filter_by
|
@@ -381,7 +381,7 @@ class GdsApi::PublishingApi < GdsApi::Base
|
|
381
381
|
# @see https://github.com/alphagov/publishing-api/blob/master/doc/api.md#get-v2linkables
|
382
382
|
def get_linkables(document_type: nil)
|
383
383
|
if document_type.nil?
|
384
|
-
raise ArgumentError
|
384
|
+
raise ArgumentError, "Please provide a `document_type`"
|
385
385
|
end
|
386
386
|
|
387
387
|
get_json("#{endpoint}/v2/linkables?document_type=#{document_type}")
|
@@ -486,7 +486,7 @@ class GdsApi::PublishingApi < GdsApi::Base
|
|
486
486
|
# publishing_app: 'content-publisher',
|
487
487
|
# rendering_app: 'government-frontend',
|
488
488
|
# }
|
489
|
-
#)
|
489
|
+
# )
|
490
490
|
#
|
491
491
|
# @see https://github.com/alphagov/publishing-api/blob/master/doc/api.md#put-publish-intentbase_path
|
492
492
|
def put_intent(base_path, payload)
|
data/lib/gds_api/response.rb
CHANGED
@@ -74,9 +74,13 @@ module GdsApi
|
|
74
74
|
@parsed_content ||= transform_parsed(JSON.parse(@http_response.body))
|
75
75
|
end
|
76
76
|
|
77
|
-
def present
|
77
|
+
def present?
|
78
|
+
true
|
79
|
+
end
|
78
80
|
|
79
|
-
def blank
|
81
|
+
def blank?
|
82
|
+
false
|
83
|
+
end
|
80
84
|
|
81
85
|
private
|
82
86
|
|
@@ -85,7 +89,7 @@ module GdsApi
|
|
85
89
|
|
86
90
|
case value
|
87
91
|
when Hash
|
88
|
-
Hash[value.map
|
92
|
+
Hash[value.map do |k, v|
|
89
93
|
# NOTE: Don't bother transforming if the value is nil
|
90
94
|
if k == "web_url" && v
|
91
95
|
# Use relative URLs to route when the web_url value is on the
|
@@ -98,7 +102,7 @@ module GdsApi
|
|
98
102
|
else
|
99
103
|
[k, transform_parsed(v)]
|
100
104
|
end
|
101
|
-
|
105
|
+
end]
|
102
106
|
when Array
|
103
107
|
value.map { |v| transform_parsed(v) }
|
104
108
|
else
|
@@ -1,10 +1,6 @@
|
|
1
|
-
require "gds_api/test_helpers/alias_deprecated"
|
2
|
-
|
3
1
|
module GdsApi
|
4
2
|
module TestHelpers
|
5
3
|
module AssetManager
|
6
|
-
extend AliasDeprecated
|
7
|
-
|
8
4
|
ASSET_MANAGER_ENDPOINT = Plek.current.find("asset-manager")
|
9
5
|
|
10
6
|
def stub_any_asset_manager_call
|
@@ -107,19 +103,6 @@ module GdsApi
|
|
107
103
|
def stub_asset_manager_delete_asset_failure(asset_id)
|
108
104
|
stub_request(:delete, "#{ASSET_MANAGER_ENDPOINT}/assets/#{asset_id}").to_return(status: 500)
|
109
105
|
end
|
110
|
-
|
111
|
-
alias_deprecated :asset_manager_updates_any_asset, :stub_asset_manager_updates_any_asset
|
112
|
-
alias_deprecated :asset_manager_deletes_any_asset, :stub_asset_manager_deletes_any_asset
|
113
|
-
alias_deprecated :asset_manager_has_an_asset, :stub_asset_manager_has_an_asset
|
114
|
-
alias_deprecated :asset_manager_has_a_whitehall_asset, :stub_asset_manager_has_a_whitehall_asset
|
115
|
-
alias_deprecated :asset_manager_does_not_have_an_asset, :stub_asset_manager_does_not_have_an_asset
|
116
|
-
alias_deprecated :asset_manager_does_not_have_a_whitehall_asset, :stub_asset_manager_does_not_have_a_whitehall_asset
|
117
|
-
alias_deprecated :asset_manager_receives_an_asset, :stub_asset_manager_receives_an_asset
|
118
|
-
alias_deprecated :asset_manager_upload_failure, :stub_asset_manager_upload_failure
|
119
|
-
alias_deprecated :asset_manager_update_asset, :stub_asset_manager_update_asset
|
120
|
-
alias_deprecated :asset_manager_update_failure, :stub_asset_manager_update_asset_failure
|
121
|
-
alias_deprecated :asset_manager_delete_asset, :stub_asset_manager_delete_asset
|
122
|
-
alias_deprecated :asset_manager_delete_failure, :stub_asset_manager_delete_asset_failure
|
123
106
|
end
|
124
107
|
end
|
125
108
|
end
|
@@ -1,10 +1,6 @@
|
|
1
|
-
require "gds_api/test_helpers/alias_deprecated"
|
2
|
-
|
3
1
|
module GdsApi
|
4
2
|
module TestHelpers
|
5
3
|
module Calendars
|
6
|
-
extend AliasDeprecated
|
7
|
-
|
8
4
|
def calendars_endpoint(in_division: nil)
|
9
5
|
endpoint = "#{Plek.new.website_root}/bank-holidays"
|
10
6
|
endpoint += "/#{in_division}" unless in_division.nil?
|
@@ -55,11 +51,6 @@ module GdsApi
|
|
55
51
|
def stub_calendars_has_a_bank_holiday_on(date, in_division: nil)
|
56
52
|
stub_calendars_has_bank_holidays_on([date], in_division: in_division)
|
57
53
|
end
|
58
|
-
|
59
|
-
# Aliases for DEPRECATED methods
|
60
|
-
alias_deprecated :calendars_has_no_bank_holidays, :stub_calendars_has_no_bank_holidays
|
61
|
-
alias_deprecated :calendars_has_bank_holidays_on, :stub_calendars_has_bank_holidays_on
|
62
|
-
alias_deprecated :calendars_has_a_bank_holiday_on, :stub_calendars_has_a_bank_holiday_on
|
63
54
|
end
|
64
55
|
end
|
65
56
|
end
|