govuk_personalisation 0.6.0 → 0.7.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/CHANGELOG.md +4 -0
- data/govuk_personalisation.gemspec +2 -0
- data/lib/govuk_personalisation/urls.rb +87 -0
- data/lib/govuk_personalisation/version.rb +1 -1
- data/lib/govuk_personalisation.rb +1 -0
- metadata +31 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5ba6e9b0f0533ecc545582e031f6faf0f734d727e42478ffea40ddac7635986e
|
4
|
+
data.tar.gz: '0974635ac43c8dfacb6894787db3d36b2608438117b41640364bfd40dcecb125'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0fdb4622d551eae409978cac47ea4dfc78205a33d6e6b324b0a4eae4ab97eb5730571cd038a49ae9d74167a50093771aa96e60062a8fadfe33dc9b57206da2a1
|
7
|
+
data.tar.gz: f11fc215ac0ab1bb8147c973398b1bba72a1f58a7ea838473ea05f305a2ac169bd527fb61e8eb7e5676be14fb02fde5ef821800868488b6250b0591e64e6aab0
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
# 0.7.0
|
2
|
+
|
3
|
+
- Add `GovukPersonalisation::Urls` module ([#14](https://github.com/alphagov/govuk_personalisation/pull/14) [#16](https://github.com/alphagov/govuk_personalisation/pull/16))
|
4
|
+
|
1
5
|
# 0.6.0
|
2
6
|
|
3
7
|
- Add `GovukPersonalisation::Flash` and helper methods to the concern ([#9](https://github.com/alphagov/govuk_personalisation/pull/9))
|
@@ -25,9 +25,11 @@ Gem::Specification.new do |spec|
|
|
25
25
|
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
26
26
|
spec.require_paths = %w[lib]
|
27
27
|
|
28
|
+
spec.add_dependency "plek", ">= 1.9.0"
|
28
29
|
spec.add_dependency "rails", "~> 6"
|
29
30
|
|
30
31
|
spec.add_development_dependency "bundler"
|
32
|
+
spec.add_development_dependency "climate_control"
|
31
33
|
spec.add_development_dependency "pry-byebug"
|
32
34
|
spec.add_development_dependency "rake"
|
33
35
|
spec.add_development_dependency "rspec-rails"
|
@@ -0,0 +1,87 @@
|
|
1
|
+
require "plek"
|
2
|
+
|
3
|
+
module GovukPersonalisation::Urls
|
4
|
+
# Find the GOV.UK URL for the "sign in" page
|
5
|
+
#
|
6
|
+
# @return [String] the URL
|
7
|
+
def self.sign_in
|
8
|
+
find_govuk_url(var: "SIGN_IN", application: "frontend", path: "/sign-in")
|
9
|
+
end
|
10
|
+
|
11
|
+
# Find the GOV.UK URL for the "sign out" page
|
12
|
+
#
|
13
|
+
# @return [String] the URL
|
14
|
+
def self.sign_out
|
15
|
+
find_govuk_url(var: "SIGN_OUT", application: "frontend", path: "/sign-out")
|
16
|
+
end
|
17
|
+
|
18
|
+
# Find the GOV.UK URL for the "your account" page
|
19
|
+
#
|
20
|
+
# @return [String] the URL
|
21
|
+
def self.your_account
|
22
|
+
find_govuk_url(var: "YOUR_ACCOUNT", application: "frontend", path: "/account/home")
|
23
|
+
end
|
24
|
+
|
25
|
+
# Find the external URL for the "manage" page
|
26
|
+
#
|
27
|
+
# @return [String] the URL
|
28
|
+
def self.manage
|
29
|
+
find_external_url(var: "MANAGE", application: "account-manager", path: "/account/manage")
|
30
|
+
end
|
31
|
+
|
32
|
+
# Find the external URL for the "security" page
|
33
|
+
#
|
34
|
+
# @return [String] the URL
|
35
|
+
def self.security
|
36
|
+
find_external_url(var: "SECURITY", application: "account-manager", path: "/account/security")
|
37
|
+
end
|
38
|
+
|
39
|
+
# Find the external URL for the "feedback" page
|
40
|
+
#
|
41
|
+
# @return [String] the URL
|
42
|
+
def self.feedback
|
43
|
+
find_external_url(var: "FEEDBACK", application: "account-manager", path: "/feedback")
|
44
|
+
end
|
45
|
+
|
46
|
+
# Finds a URL on www.gov.uk. This method is used so we can have
|
47
|
+
# links which work both in production (where the website root is
|
48
|
+
# returned) and in local development (where an application URL is
|
49
|
+
# returned).
|
50
|
+
#
|
51
|
+
# If `GOVUK_PERSONALISATION_#{var}_URI` is in the environment, that
|
52
|
+
# will be returned.
|
53
|
+
#
|
54
|
+
# Otherwise, a `www.gov.uk` URL will be returned (a `dev.gov.uk`
|
55
|
+
# domain in development mode)
|
56
|
+
#
|
57
|
+
# @param var [String] the name of the variable to look up
|
58
|
+
# @param application [String] the name of the frontend application, passed to Plek, to use in development mode (if the env var is set, this is ignored)
|
59
|
+
# @param path [String] the path to use (if the env var is set this is ignored)
|
60
|
+
#
|
61
|
+
# @return [String] the URL
|
62
|
+
def self.find_govuk_url(var:, application:, path:)
|
63
|
+
value_from_env_var = ENV["GOVUK_PERSONALISATION_#{var}_URI"]
|
64
|
+
if value_from_env_var
|
65
|
+
value_from_env_var
|
66
|
+
else
|
67
|
+
plek_application_uri = Rails.env.development? ? Plek.find(application) : Plek.new.website_root
|
68
|
+
"#{plek_application_uri}#{path}"
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
# Finds a URL outside www.gov.uk
|
73
|
+
#
|
74
|
+
# If `GOVUK_PERSONALISATION_#{var}_URI` is in the environment, that
|
75
|
+
# will be returned.
|
76
|
+
#
|
77
|
+
# Otherwise, an application URL generated by Plek will be returned.
|
78
|
+
#
|
79
|
+
# @param var [String] the name of the variable to look up
|
80
|
+
# @param application [String] the name of the frontend application, passed to Plek (if the env var is set, this is ignored)
|
81
|
+
# @param path [String] the path to use (if the env var is set this is ignored)
|
82
|
+
#
|
83
|
+
# @return [String] the URL
|
84
|
+
def self.find_external_url(var:, application:, path:)
|
85
|
+
ENV.fetch("GOVUK_PERSONALISATION_#{var}_URI", "#{Plek.find(application)}#{path}")
|
86
|
+
end
|
87
|
+
end
|
@@ -5,5 +5,6 @@ require "govuk_personalisation/controller_concern"
|
|
5
5
|
require "govuk_personalisation/flash"
|
6
6
|
require "govuk_personalisation/test_helpers/features"
|
7
7
|
require "govuk_personalisation/test_helpers/requests"
|
8
|
+
require "govuk_personalisation/urls"
|
8
9
|
|
9
10
|
module GovukPersonalisation; end
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: govuk_personalisation
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GOV.UK Dev
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-08-
|
11
|
+
date: 2021-08-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: plek
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 1.9.0
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 1.9.0
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: rails
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -38,6 +52,20 @@ dependencies:
|
|
38
52
|
- - ">="
|
39
53
|
- !ruby/object:Gem::Version
|
40
54
|
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: climate_control
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
41
69
|
- !ruby/object:Gem::Dependency
|
42
70
|
name: pry-byebug
|
43
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -120,6 +148,7 @@ files:
|
|
120
148
|
- lib/govuk_personalisation/flash.rb
|
121
149
|
- lib/govuk_personalisation/test_helpers/features.rb
|
122
150
|
- lib/govuk_personalisation/test_helpers/requests.rb
|
151
|
+
- lib/govuk_personalisation/urls.rb
|
123
152
|
- lib/govuk_personalisation/version.rb
|
124
153
|
homepage: https://github.com/alphagov/govuk_personalisation
|
125
154
|
licenses:
|