govuk_schemas 5.0.2 → 5.0.4
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 +10 -0
- data/govuk_schemas.gemspec +2 -1
- data/lib/govuk_schemas/random_content_generator.rb +19 -6
- data/lib/govuk_schemas/version.rb +1 -1
- metadata +19 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3dd91e9517ca0bd0ff1f983378aadc0f2cba54f12706b90649105c1e2ffadb64
|
4
|
+
data.tar.gz: 41d7ad98aecd4d2e4dd875e3c538edc881415f259b4ea48ed5bffbf345b9422f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0a4fd9a1aebf731f35d4763031e9578b40d365cb6b97102328a9f7945275d2ce4d1ccb1d16b4a77d6f5702b9005cf5d77592fe76cf542ce669421d1512c3143f
|
7
|
+
data.tar.gz: 964968fa54d8849052e6d53b141786f07f6b819df891ea81d493c9b75e988a80f0855e2cd8ea6973336dc98a2038b70b446c1e70873bca998385e1cad8c451ed
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
# 5.0.4
|
2
|
+
|
3
|
+
* Ensure `Faker` is added as a non-development dependency
|
4
|
+
|
5
|
+
# 5.0.3
|
6
|
+
|
7
|
+
* Add support for `email` string types
|
8
|
+
* Use `Faker` gem to generate emails and URLs
|
9
|
+
* Improve error messages when an unknown type is given in `GovukSchemas::RandomContentGenerator#string_for_type`
|
10
|
+
|
1
11
|
# 5.0.2
|
2
12
|
|
3
13
|
* Fix issue where customised schema validation message was incorrect for a modified payload
|
data/govuk_schemas.gemspec
CHANGED
@@ -18,6 +18,7 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
19
19
|
spec.require_paths = %w[lib]
|
20
20
|
|
21
|
+
spec.add_dependency "faker", "~> 3.4.1"
|
21
22
|
# This should be kept in sync with the json-schema version of publishing-api.
|
22
23
|
spec.add_dependency "json-schema", ">= 2.8", "< 4.4"
|
23
24
|
|
@@ -25,7 +26,7 @@ Gem::Specification.new do |spec|
|
|
25
26
|
spec.add_development_dependency "pry-byebug"
|
26
27
|
spec.add_development_dependency "rake", "~> 13.0"
|
27
28
|
spec.add_development_dependency "rspec", "~> 3.4"
|
28
|
-
spec.add_development_dependency "rubocop-govuk", "4.
|
29
|
+
spec.add_development_dependency "rubocop-govuk", "4.18.0"
|
29
30
|
|
30
31
|
spec.required_ruby_version = ">= 3.1.4"
|
31
32
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require "faker"
|
2
|
+
|
1
3
|
module GovukSchemas
|
2
4
|
# @private
|
3
5
|
class RandomContentGenerator
|
@@ -5,6 +7,7 @@ module GovukSchemas
|
|
5
7
|
|
6
8
|
def initialize(random: Random.new)
|
7
9
|
@random = random
|
10
|
+
Faker::Config.random = @random
|
8
11
|
end
|
9
12
|
|
10
13
|
def string_for_type(type)
|
@@ -13,8 +16,20 @@ module GovukSchemas
|
|
13
16
|
time
|
14
17
|
when "uri"
|
15
18
|
uri
|
19
|
+
when "email"
|
20
|
+
Faker::Internet.email
|
16
21
|
else
|
17
|
-
raise
|
22
|
+
raise <<~DOC
|
23
|
+
Unsupported JSON schema type `#{type}`
|
24
|
+
|
25
|
+
Supported formats are:
|
26
|
+
- date-time
|
27
|
+
- uri
|
28
|
+
- email
|
29
|
+
|
30
|
+
This can be fixed by adding a type to the `string_for_type` method in
|
31
|
+
`lib/govuk_schemas/random_content_generator.rb` in https://github.com/alphagov/govuk_schemas
|
32
|
+
DOC
|
18
33
|
end
|
19
34
|
end
|
20
35
|
|
@@ -25,7 +40,7 @@ module GovukSchemas
|
|
25
40
|
|
26
41
|
# TODO: make this more random with query string, optional anchor.
|
27
42
|
def uri
|
28
|
-
"
|
43
|
+
"#{Faker::Internet.url(path: base_path)}#{anchor}"
|
29
44
|
end
|
30
45
|
|
31
46
|
def base_path
|
@@ -33,10 +48,8 @@ module GovukSchemas
|
|
33
48
|
end
|
34
49
|
|
35
50
|
def govuk_subdomain_url
|
36
|
-
|
37
|
-
|
38
|
-
}.join(".")
|
39
|
-
"https://#{subdomain}.gov.uk#{base_path}"
|
51
|
+
host = Faker::Internet.domain_name(subdomain: true, domain: "gov.uk")
|
52
|
+
Faker::Internet.url(host:, path: base_path)
|
40
53
|
end
|
41
54
|
|
42
55
|
def string(minimum_chars = nil, maximum_chars = nil)
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: govuk_schemas
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.0.
|
4
|
+
version: 5.0.4
|
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: 2024-
|
11
|
+
date: 2024-06-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: faker
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 3.4.1
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 3.4.1
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: json-schema
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -92,14 +106,14 @@ dependencies:
|
|
92
106
|
requirements:
|
93
107
|
- - '='
|
94
108
|
- !ruby/object:Gem::Version
|
95
|
-
version: 4.
|
109
|
+
version: 4.18.0
|
96
110
|
type: :development
|
97
111
|
prerelease: false
|
98
112
|
version_requirements: !ruby/object:Gem::Requirement
|
99
113
|
requirements:
|
100
114
|
- - '='
|
101
115
|
- !ruby/object:Gem::Version
|
102
|
-
version: 4.
|
116
|
+
version: 4.18.0
|
103
117
|
description: Gem to generate test data based on GOV.UK content schemas
|
104
118
|
email:
|
105
119
|
- govuk-dev@digital.cabinet-office.gov.uk
|
@@ -152,7 +166,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
152
166
|
- !ruby/object:Gem::Version
|
153
167
|
version: '0'
|
154
168
|
requirements: []
|
155
|
-
rubygems_version: 3.5.
|
169
|
+
rubygems_version: 3.5.14
|
156
170
|
signing_key:
|
157
171
|
specification_version: 4
|
158
172
|
summary: Gem to generate test data based on GOV.UK content schemas
|