plek 4.1.0 → 5.0.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.
- checksums.yaml +4 -4
- data/lib/plek/version.rb +1 -1
- data/lib/plek.rb +26 -48
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e6a63e60446a37aebde2d7ecbb659286e8afa0e31da683f37652e889f32b1dfc
|
4
|
+
data.tar.gz: afd8884693b6ed5d8cf8757dbe679854f657565d3d03fd68647ade3378699cba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b398f7c452471fd8b76a3620b8d29669b91df4febfb6956acc5877f5521c8deda8d3a17ac5193dcf122972e531deb2ced1f67473cc5ac3917c42850e0833e54f
|
7
|
+
data.tar.gz: 865f7dec648f21375336fa29c7eb57789d2a4d9b1a22374e9cc635c66616a32c8a07cbba173a12245357a50f08cfa236c38b49fa3dcfa29dc4c74f468618af1c
|
data/lib/plek/version.rb
CHANGED
data/lib/plek.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require "plek/version"
|
2
2
|
require "uri"
|
3
|
+
require "forwardable"
|
3
4
|
|
4
5
|
# Plek resolves service names to a corresponding base URL.
|
5
6
|
#
|
@@ -71,7 +72,7 @@ class Plek
|
|
71
72
|
# scheme (eg `//foo.example.com`)
|
72
73
|
# @return [String] The base URL for the service.
|
73
74
|
def find(service, options = {})
|
74
|
-
name =
|
75
|
+
name = valid_service_name(service)
|
75
76
|
if (service_uri = defined_service_uri_for(name))
|
76
77
|
return service_uri
|
77
78
|
end
|
@@ -101,15 +102,6 @@ class Plek
|
|
101
102
|
find(service, options.merge(external: true))
|
102
103
|
end
|
103
104
|
|
104
|
-
# Find the base URL for a service/application, and parse as a URI object.
|
105
|
-
# This wraps #find and returns the parsed result.
|
106
|
-
#
|
107
|
-
# @param args see {#find}
|
108
|
-
# @return [URI::HTTPS,URI::HTTP,URI::Generic] The base URL for the service
|
109
|
-
def find_uri(*args)
|
110
|
-
URI(find(*args))
|
111
|
-
end
|
112
|
-
|
113
105
|
# Find the base URL for assets.
|
114
106
|
#
|
115
107
|
# @return [String] The assets base URL.
|
@@ -124,51 +116,37 @@ class Plek
|
|
124
116
|
env_var_or_dev_fallback("GOVUK_WEBSITE_ROOT") { find("www") }
|
125
117
|
end
|
126
118
|
|
127
|
-
# Find the base URL for assets.
|
128
|
-
#
|
129
|
-
# @return [URI::HTTPS,URI::HTTP,URI::Generic] The assets base URL.
|
130
|
-
def asset_uri
|
131
|
-
URI(asset_root)
|
132
|
-
end
|
133
|
-
|
134
|
-
# Find the base URL for the public website frontend.
|
135
|
-
#
|
136
|
-
# @return [URI::HTTPS,URI::HTTP,URI::Generic] The website base URL.
|
137
|
-
def website_uri
|
138
|
-
URI(website_root)
|
139
|
-
end
|
140
|
-
|
141
|
-
# TODO: clean up all references to these and then remove them.
|
142
119
|
class << self
|
143
|
-
|
144
|
-
|
145
|
-
#
|
146
|
-
#
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
#
|
153
|
-
#
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
#
|
159
|
-
#
|
160
|
-
|
161
|
-
|
162
|
-
end
|
120
|
+
extend Forwardable
|
121
|
+
|
122
|
+
# @!method find
|
123
|
+
# Convenience wrapper. The same as calling +Plek.new.find+.
|
124
|
+
# @see #find
|
125
|
+
# @return [String]
|
126
|
+
# @!method external_url_for
|
127
|
+
# Convenience wrapper. The same as calling +Plek.new.external_url_for+.
|
128
|
+
# @see #external_url_for
|
129
|
+
# @return [String]
|
130
|
+
# @!method asset_root
|
131
|
+
# Convenience wrapper. The same as calling +Plek.new.asset_root+.
|
132
|
+
# @see #asset_root
|
133
|
+
# @return [String]
|
134
|
+
# @!method website_root
|
135
|
+
# Convenience wrapper. The same as calling +Plek.new.website_root+.
|
136
|
+
# @see #website_root
|
137
|
+
# @return [String]
|
138
|
+
def_delegators :new, :find, :external_url_for, :asset_root, :website_root
|
163
139
|
end
|
164
140
|
|
165
141
|
private
|
166
142
|
|
167
143
|
attr_reader :host_prefix, :unprefixable_hosts, :use_http_for_single_label_domains
|
168
144
|
|
169
|
-
|
170
|
-
|
171
|
-
|
145
|
+
def valid_service_name(name)
|
146
|
+
service_name = name.to_s
|
147
|
+
return service_name if service_name.match?(/\A[a-z1-9.-]+\z/)
|
148
|
+
|
149
|
+
raise ArgumentError, "Plek expects a service name to only contain lowercase a-z, numbers . (period) and - (dash) characters."
|
172
150
|
end
|
173
151
|
|
174
152
|
def http_domain?(domain)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: plek
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 5.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GOV.UK Dev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-11-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: climate_control
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - '='
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 4.
|
61
|
+
version: 4.8.0
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - '='
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 4.
|
68
|
+
version: 4.8.0
|
69
69
|
description: Find the right hostname for each service in an environment-dependent
|
70
70
|
manner
|
71
71
|
email:
|
@@ -97,7 +97,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
97
97
|
- !ruby/object:Gem::Version
|
98
98
|
version: '0'
|
99
99
|
requirements: []
|
100
|
-
rubygems_version: 3.3.
|
100
|
+
rubygems_version: 3.3.26
|
101
101
|
signing_key:
|
102
102
|
specification_version: 4
|
103
103
|
summary: Locations for services
|