defra_ruby_validators 2.4.1 → 2.5.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 21bdd325a2591dc6b3240957791d511239cadf35
4
- data.tar.gz: dbf3657df6f3c814a3f2081a4c576f3319c5c713
2
+ SHA256:
3
+ metadata.gz: 8964c61f339abf2c0d3a469cad34c7234caf819e1844f3968e04d85147cc67c4
4
+ data.tar.gz: bf2ad073d11e02f698039b03286c1519ff01126d384119b8f3c0785b2c1cf6cd
5
5
  SHA512:
6
- metadata.gz: 22c834aeb4feacd105d153c38a0db5ba1ea3951e8f4e78fb8bb8f48fb1a797ba64973b98565ea4c51904ca623a40934f1e9d6f57b7bb7319197762480cf17938
7
- data.tar.gz: 3553f860583d638a6fcd86038240c507dd3fc4f89ad16e1fd87ec68bbf5386a27d36f46ecb7536717f2f060804ae5f8d9fdaa1ef784cbc05194df1beedf63b44
6
+ metadata.gz: f24569969b429ffd1c1d7db53c94420f47aa0b32538c0584403458ee4fdf45cb72a911341ef993c959a298a8256b94b3511867a54cb9fa098d04e4573547ee6a
7
+ data.tar.gz: 4b40e37219533ce6c295b33b00c267c45550855790832f37f363db07f63d83c8d2a04cbfd4a8bf6f1762f52639f56888b614d741b13712614ed02fe0113cbad0
data/README.md CHANGED
@@ -1,9 +1,8 @@
1
1
  # Defra Ruby Validators
2
2
 
3
- [![Build Status](https://travis-ci.com/DEFRA/defra-ruby-validators.svg?branch=main)](https://travis-ci.com/DEFRA/defra-ruby-validators)
3
+ ![Build Status](https://github.com/DEFRA/defra-ruby-validators/workflows/CI/badge.svg?branch=main)
4
4
  [![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=DEFRA_defra-ruby-validators&metric=sqale_rating)](https://sonarcloud.io/dashboard?id=DEFRA_defra-ruby-validators)
5
5
  [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=DEFRA_defra-ruby-validators&metric=coverage)](https://sonarcloud.io/dashboard?id=DEFRA_defra-ruby-validators)
6
- [![security](https://hakiri.io/github/DEFRA/defra-ruby-validators/main.svg)](https://hakiri.io/github/DEFRA/defra-ruby-validators/main)
7
6
  [![Gem Version](https://badge.fury.io/rb/defra_ruby_validators.svg)](https://badge.fury.io/rb/defra_ruby_validators)
8
7
  [![Licence](https://img.shields.io/badge/Licence-OGLv3-blue.svg)](http://www.nationalarchives.gov.uk/doc/open-government-licence/version/3)
9
8
 
@@ -74,6 +73,14 @@ Add it to your model or form object using
74
73
  validates :company_no, "defra_ruby/validators/companies_house_number": true
75
74
  ```
76
75
 
76
+ The company number also accepts a `company_type` option. This checks the `type` attribute in the API response. To validate that the company number is for a Limited Company, for example:
77
+
78
+ ```ruby
79
+ validates :company_no, "defra_ruby/validators/companies_house_number": { company_type: "ltd" }
80
+ ```
81
+
82
+ Note: to mock the Companies House service with the `company_type` option, you will need to be running at least v2.2.0 of [defra-ruby-mocks](https://github.com/DEFRA/defra-ruby-mocks#companies-house).
83
+
77
84
  ### Email
78
85
 
79
86
  This validator checks the value is present and in a format that meets [RFC 2822](https://tools.ietf.org/html/rfc2822) and [RFC 3696](https://tools.ietf.org/html/rfc3696) (we use [validates_email_format_of](https://github.com/validates-email-format-of/validates_email_format_of) to check the format).
@@ -17,7 +17,8 @@ module DefraRuby
17
17
  return false unless value_is_present?(record, attribute, value)
18
18
  return false unless format_is_valid?(record, attribute, value)
19
19
 
20
- validate_with_companies_house(record, attribute, value)
20
+ company_type = options[:company_type]
21
+ validate_with_companies_house(record, attribute, value, company_type)
21
22
  end
22
23
 
23
24
  private
@@ -36,19 +37,21 @@ module DefraRuby
36
37
  false
37
38
  end
38
39
 
39
- def validate_with_companies_house(record, attribute, value)
40
- case CompaniesHouseService.new(value).status
40
+ def validate_with_companies_house(record, attribute, value, company_type)
41
+ case CompaniesHouseService.new(value, company_type).status
41
42
  when :active
42
43
  true
43
44
  when :inactive
44
45
  add_validation_error(record, attribute, :inactive)
45
46
  when :not_found
46
47
  add_validation_error(record, attribute, :not_found)
48
+ else
49
+ # Sonarcloud suggested that not having an `else` is a code smell
50
+ add_validation_error(record, attribute, :error)
47
51
  end
48
52
  rescue StandardError
49
53
  add_validation_error(record, attribute, :error)
50
54
  end
51
-
52
55
  end
53
56
  end
54
57
  end
@@ -5,31 +5,45 @@ require "rest-client"
5
5
  module DefraRuby
6
6
  module Validators
7
7
  class CompaniesHouseService
8
- def initialize(company_no)
8
+ def initialize(company_no, company_type = nil)
9
9
  @company_no = company_no
10
10
  @url = "#{DefraRuby::Validators.configuration.companies_house_host}#{@company_no}"
11
11
  @api_key = DefraRuby::Validators.configuration.companies_house_api_key
12
+ @company_type = company_type
12
13
  end
13
14
 
14
15
  def status
15
- response = RestClient::Request.execute(
16
- method: :get,
17
- url: @url,
18
- user: @api_key,
19
- password: ""
20
- )
16
+ return :not_found unless company_type_is_allowed?(json_response)
21
17
 
22
- json = JSON.parse(response)
23
-
24
- status_is_allowed?(json["company_status"]) ? :active : :inactive
18
+ status_is_allowed?(json_response) ? :active : :inactive
25
19
  rescue RestClient::ResourceNotFound
26
20
  :not_found
27
21
  end
28
22
 
23
+ def json_response
24
+ @_json_response ||=
25
+ JSON.parse(
26
+ RestClient::Request.execute(
27
+ method: :get,
28
+ url: @url,
29
+ user: @api_key,
30
+ password: ""
31
+ )
32
+ )
33
+ end
34
+
29
35
  private
30
36
 
31
- def status_is_allowed?(status)
32
- %w[active voluntary-arrangement].include?(status)
37
+ def status_is_allowed?(json_response)
38
+ %w[active voluntary-arrangement].include?(json_response["company_status"])
39
+ end
40
+
41
+ def company_type_is_allowed?(json_response)
42
+ # if a company_type has not been defined in the validator,
43
+ # we skip this check
44
+ return true if @company_type.blank?
45
+
46
+ @company_type.to_s == json_response["type"]
33
47
  end
34
48
  end
35
49
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module DefraRuby
4
4
  module Validators
5
- VERSION = "2.4.1"
5
+ VERSION = "2.5.0"
6
6
  end
7
7
  end
@@ -8,6 +8,12 @@ module Test
8
8
 
9
9
  validates :company_no, "defra_ruby/validators/companies_house_number": true
10
10
  end
11
+
12
+ CompaniesHouseCompanyTypeAndNumberValidatable = Struct.new(:company_no) do
13
+ include ActiveModel::Validations
14
+
15
+ validates :company_no, "defra_ruby/validators/companies_house_number": { company_type: "ltd" }
16
+ end
11
17
  end
12
18
 
13
19
  module DefraRuby
@@ -86,6 +92,16 @@ module DefraRuby
86
92
  error: :inactive,
87
93
  error_message: error_message
88
94
  end
95
+
96
+ context "with a company_type option" do
97
+ let(:company_no) { valid_numbers.first }
98
+
99
+ it "calls the companies house service with the `ltd` param" do
100
+ expect(CompaniesHouseService).to receive(:new).with(company_no, "ltd")
101
+
102
+ Test::CompaniesHouseCompanyTypeAndNumberValidatable.new(company_no).valid?
103
+ end
104
+ end
89
105
  end
90
106
 
91
107
  context "when there is an error connecting with companies house" do
@@ -3,13 +3,14 @@
3
3
  require "webmock/rspec"
4
4
 
5
5
  RSpec.describe DefraRuby::Validators::CompaniesHouseService do
6
- let(:subject) { described_class.new("09360070") }
7
6
  let(:host) { "https://api.companieshouse.gov.uk/" }
8
7
 
9
8
  describe "#status" do
9
+ let(:subject) { described_class.new("09360070") }
10
+
10
11
  context "when the company_no is for an active company" do
11
12
  before do
12
- expected_body = { "company_status": "active" }
13
+ expected_body = { "company_status": "active", "type": "ltd" }
13
14
 
14
15
  stub_request(:any, /.*#{host}.*/).to_return(
15
16
  status: 200,
@@ -36,7 +37,7 @@ RSpec.describe DefraRuby::Validators::CompaniesHouseService do
36
37
 
37
38
  context "when the company_no is inactive" do
38
39
  before do
39
- expected_body = { "company_status": "dissolved" }
40
+ expected_body = { "company_status": "dissolved", "type": "ltd" }
40
41
 
41
42
  stub_request(:any, /.*#{host}.*/).to_return(
42
43
  status: 200,
@@ -49,6 +50,33 @@ RSpec.describe DefraRuby::Validators::CompaniesHouseService do
49
50
  end
50
51
  end
51
52
 
53
+ context "checking the company_type" do
54
+ let(:subject) { described_class.new("09360070", "llp") }
55
+
56
+ context "when the company_no is for a LLP" do
57
+ before do
58
+ stub_request(:any, /.*#{host}.*/).to_return(
59
+ status: 200,
60
+ body: expected_body.to_json
61
+ )
62
+ end
63
+
64
+ let(:expected_body) { { "company_status": "active", "type": "llp" } }
65
+
66
+ it "returns :active" do
67
+ expect(subject.status).to eq(:active)
68
+ end
69
+
70
+ context "but a ltd company is found" do
71
+ let(:expected_body) { { "company_status": "active", "type": "ltd" } }
72
+
73
+ it "returns :not_found" do
74
+ expect(subject.status).to eq(:not_found)
75
+ end
76
+ end
77
+ end
78
+ end
79
+
52
80
  context "when there is a problem with the Companies House API" do
53
81
  context "and the request times out" do
54
82
  before { stub_request(:any, /.*#{host}.*/).to_timeout }
data/spec/examples.txt ADDED
@@ -0,0 +1,189 @@
1
+ example_id | status | run_time |
2
+ ------------------------------------------------------------------------------------ | ------ | --------------- |
3
+ ./spec/defra_ruby/validators/business_type_validator_spec.rb[1:1:1] | passed | 0.00011 seconds |
4
+ ./spec/defra_ruby/validators/business_type_validator_spec.rb[1:2:1] | passed | 0.00014 seconds |
5
+ ./spec/defra_ruby/validators/business_type_validator_spec.rb[1:2:2:1:1:1] | passed | 0.00024 seconds |
6
+ ./spec/defra_ruby/validators/business_type_validator_spec.rb[1:2:2:1:1:2] | passed | 0.00013 seconds |
7
+ ./spec/defra_ruby/validators/business_type_validator_spec.rb[1:2:2:2:1:1:1] | passed | 0.00021 seconds |
8
+ ./spec/defra_ruby/validators/business_type_validator_spec.rb[1:2:2:2:1:1:2] | passed | 0.00087 seconds |
9
+ ./spec/defra_ruby/validators/business_type_validator_spec.rb[1:2:2:2:1:1:3] | passed | 0.0005 seconds |
10
+ ./spec/defra_ruby/validators/business_type_validator_spec.rb[1:2:2:2:1:1:4:1] | passed | 0.00122 seconds |
11
+ ./spec/defra_ruby/validators/business_type_validator_spec.rb[1:2:2:2:2:1:1] | passed | 0.00019 seconds |
12
+ ./spec/defra_ruby/validators/business_type_validator_spec.rb[1:2:2:2:2:1:2] | passed | 0.00051 seconds |
13
+ ./spec/defra_ruby/validators/business_type_validator_spec.rb[1:2:2:2:2:1:3] | passed | 0.00052 seconds |
14
+ ./spec/defra_ruby/validators/business_type_validator_spec.rb[1:2:2:2:2:1:4:1] | passed | 0.00106 seconds |
15
+ ./spec/defra_ruby/validators/business_type_validator_spec.rb[1:3:1:1:1] | passed | 0.00063 seconds |
16
+ ./spec/defra_ruby/validators/business_type_validator_spec.rb[1:3:1:1:2] | passed | 0.00058 seconds |
17
+ ./spec/defra_ruby/validators/business_type_validator_spec.rb[1:3:2:1:1] | passed | 0.0007 seconds |
18
+ ./spec/defra_ruby/validators/business_type_validator_spec.rb[1:3:2:1:2] | passed | 0.00096 seconds |
19
+ ./spec/defra_ruby/validators/business_type_validator_spec.rb[1:3:2:1:3] | passed | 0.00099 seconds |
20
+ ./spec/defra_ruby/validators/business_type_validator_spec.rb[1:3:2:1:4:1] | passed | 0.00122 seconds |
21
+ ./spec/defra_ruby/validators/companies_house_number_validator_spec.rb[1:1:1] | passed | 0.00021 seconds |
22
+ ./spec/defra_ruby/validators/companies_house_number_validator_spec.rb[1:2:1:1:1:1] | passed | 0.00067 seconds |
23
+ ./spec/defra_ruby/validators/companies_house_number_validator_spec.rb[1:2:1:1:1:2] | passed | 0.00049 seconds |
24
+ ./spec/defra_ruby/validators/companies_house_number_validator_spec.rb[1:2:1:2:1:1] | passed | 0.00049 seconds |
25
+ ./spec/defra_ruby/validators/companies_house_number_validator_spec.rb[1:2:1:2:1:2] | passed | 0.00064 seconds |
26
+ ./spec/defra_ruby/validators/companies_house_number_validator_spec.rb[1:2:1:3:1:1] | passed | 0.00087 seconds |
27
+ ./spec/defra_ruby/validators/companies_house_number_validator_spec.rb[1:2:1:3:1:2] | passed | 0.00128 seconds |
28
+ ./spec/defra_ruby/validators/companies_house_number_validator_spec.rb[1:2:1:4:1:1] | passed | 0.00052 seconds |
29
+ ./spec/defra_ruby/validators/companies_house_number_validator_spec.rb[1:2:1:4:1:2] | passed | 0.00057 seconds |
30
+ ./spec/defra_ruby/validators/companies_house_number_validator_spec.rb[1:2:2:1:1:1] | passed | 0.00024 seconds |
31
+ ./spec/defra_ruby/validators/companies_house_number_validator_spec.rb[1:2:2:1:1:2] | passed | 0.0008 seconds |
32
+ ./spec/defra_ruby/validators/companies_house_number_validator_spec.rb[1:2:2:1:1:3] | passed | 0.0007 seconds |
33
+ ./spec/defra_ruby/validators/companies_house_number_validator_spec.rb[1:2:2:1:1:4:1] | passed | 0.00137 seconds |
34
+ ./spec/defra_ruby/validators/companies_house_number_validator_spec.rb[1:2:2:2:1:1] | passed | 0.00018 seconds |
35
+ ./spec/defra_ruby/validators/companies_house_number_validator_spec.rb[1:2:2:2:1:2] | passed | 0.00059 seconds |
36
+ ./spec/defra_ruby/validators/companies_house_number_validator_spec.rb[1:2:2:2:1:3] | passed | 0.00055 seconds |
37
+ ./spec/defra_ruby/validators/companies_house_number_validator_spec.rb[1:2:2:2:1:4:1] | passed | 0.00098 seconds |
38
+ ./spec/defra_ruby/validators/companies_house_number_validator_spec.rb[1:2:2:3:1:1] | passed | 0.00058 seconds |
39
+ ./spec/defra_ruby/validators/companies_house_number_validator_spec.rb[1:2:2:3:1:2] | passed | 0.00105 seconds |
40
+ ./spec/defra_ruby/validators/companies_house_number_validator_spec.rb[1:2:2:3:1:3] | passed | 0.00084 seconds |
41
+ ./spec/defra_ruby/validators/companies_house_number_validator_spec.rb[1:2:2:3:1:4:1] | passed | 0.00137 seconds |
42
+ ./spec/defra_ruby/validators/companies_house_number_validator_spec.rb[1:2:2:4:1:1] | passed | 0.00051 seconds |
43
+ ./spec/defra_ruby/validators/companies_house_number_validator_spec.rb[1:2:2:4:1:2] | passed | 0.00084 seconds |
44
+ ./spec/defra_ruby/validators/companies_house_number_validator_spec.rb[1:2:2:4:1:3] | passed | 0.00085 seconds |
45
+ ./spec/defra_ruby/validators/companies_house_number_validator_spec.rb[1:2:2:4:1:4:1] | passed | 0.0013 seconds |
46
+ ./spec/defra_ruby/validators/companies_house_number_validator_spec.rb[1:2:2:5:1] | passed | 0.00061 seconds |
47
+ ./spec/defra_ruby/validators/companies_house_number_validator_spec.rb[1:2:3:1:1] | passed | 0.00054 seconds |
48
+ ./spec/defra_ruby/validators/companies_house_number_validator_spec.rb[1:2:3:1:2] | passed | 0.00135 seconds |
49
+ ./spec/defra_ruby/validators/companies_house_number_validator_spec.rb[1:2:3:1:3] | passed | 0.00083 seconds |
50
+ ./spec/defra_ruby/validators/companies_house_number_validator_spec.rb[1:2:3:1:4:1] | passed | 0.00139 seconds |
51
+ ./spec/defra_ruby/validators/companies_house_service_spec.rb[1:1:1:1] | passed | 0.0211 seconds |
52
+ ./spec/defra_ruby/validators/companies_house_service_spec.rb[1:1:2:1] | passed | 0.01246 seconds |
53
+ ./spec/defra_ruby/validators/companies_house_service_spec.rb[1:1:3:1] | passed | 0.01366 seconds |
54
+ ./spec/defra_ruby/validators/companies_house_service_spec.rb[1:1:4:1:1] | passed | 0.01198 seconds |
55
+ ./spec/defra_ruby/validators/companies_house_service_spec.rb[1:1:4:1:2:1] | passed | 0.01318 seconds |
56
+ ./spec/defra_ruby/validators/companies_house_service_spec.rb[1:1:5:1:1] | passed | 0.01765 seconds |
57
+ ./spec/defra_ruby/validators/companies_house_service_spec.rb[1:1:5:2:1] | passed | 0.01388 seconds |
58
+ ./spec/defra_ruby/validators/configuration_spec.rb[1:1:1] | passed | 0.00396 seconds |
59
+ ./spec/defra_ruby/validators/configuration_spec.rb[1:2] | passed | 0.0001 seconds |
60
+ ./spec/defra_ruby/validators/configuration_spec.rb[1:3:1:1] | passed | 0.00015 seconds |
61
+ ./spec/defra_ruby/validators/configuration_spec.rb[1:3:2:1] | passed | 0.00016 seconds |
62
+ ./spec/defra_ruby/validators/email_validator_spec.rb[1:1:1] | passed | 0.0031 seconds |
63
+ ./spec/defra_ruby/validators/email_validator_spec.rb[1:2:1] | passed | 0.00012 seconds |
64
+ ./spec/defra_ruby/validators/email_validator_spec.rb[1:2:2:1:1:1] | passed | 0.00017 seconds |
65
+ ./spec/defra_ruby/validators/email_validator_spec.rb[1:2:2:1:1:2] | passed | 0.00024 seconds |
66
+ ./spec/defra_ruby/validators/email_validator_spec.rb[1:2:2:2:1:1:1] | passed | 0.00024 seconds |
67
+ ./spec/defra_ruby/validators/email_validator_spec.rb[1:2:2:2:1:1:2] | passed | 0.00047 seconds |
68
+ ./spec/defra_ruby/validators/email_validator_spec.rb[1:2:2:2:1:1:3] | passed | 0.00052 seconds |
69
+ ./spec/defra_ruby/validators/email_validator_spec.rb[1:2:2:2:1:1:4:1] | passed | 0.00123 seconds |
70
+ ./spec/defra_ruby/validators/email_validator_spec.rb[1:3:1:1:1:1] | passed | 0.01345 seconds |
71
+ ./spec/defra_ruby/validators/email_validator_spec.rb[1:3:1:1:1:2] | passed | 0.00176 seconds |
72
+ ./spec/defra_ruby/validators/email_validator_spec.rb[1:3:1:1:1:3] | passed | 0.00061 seconds |
73
+ ./spec/defra_ruby/validators/email_validator_spec.rb[1:3:1:1:1:4:1] | passed | 0.01457 seconds |
74
+ ./spec/defra_ruby/validators/grid_reference_validator_spec.rb[1:1:1] | passed | 0.00011 seconds |
75
+ ./spec/defra_ruby/validators/grid_reference_validator_spec.rb[1:2:1] | passed | 0.00021 seconds |
76
+ ./spec/defra_ruby/validators/grid_reference_validator_spec.rb[1:2:2:1:1:1] | passed | 0.00032 seconds |
77
+ ./spec/defra_ruby/validators/grid_reference_validator_spec.rb[1:2:2:1:1:2] | passed | 0.00027 seconds |
78
+ ./spec/defra_ruby/validators/grid_reference_validator_spec.rb[1:2:2:2:1:1:1] | passed | 0.00046 seconds |
79
+ ./spec/defra_ruby/validators/grid_reference_validator_spec.rb[1:2:2:2:1:1:2] | passed | 0.0011 seconds |
80
+ ./spec/defra_ruby/validators/grid_reference_validator_spec.rb[1:2:2:2:1:1:3] | passed | 0.00069 seconds |
81
+ ./spec/defra_ruby/validators/grid_reference_validator_spec.rb[1:2:2:2:1:1:4:1] | passed | 0.00132 seconds |
82
+ ./spec/defra_ruby/validators/grid_reference_validator_spec.rb[1:3:1:1:1:1] | passed | 0.00025 seconds |
83
+ ./spec/defra_ruby/validators/grid_reference_validator_spec.rb[1:3:1:1:1:2] | passed | 0.00064 seconds |
84
+ ./spec/defra_ruby/validators/grid_reference_validator_spec.rb[1:3:1:1:1:3] | passed | 0.00057 seconds |
85
+ ./spec/defra_ruby/validators/grid_reference_validator_spec.rb[1:3:1:1:1:4:1] | passed | 0.0013 seconds |
86
+ ./spec/defra_ruby/validators/grid_reference_validator_spec.rb[1:3:1:2:1:1] | passed | 0.00035 seconds |
87
+ ./spec/defra_ruby/validators/grid_reference_validator_spec.rb[1:3:1:2:1:2] | passed | 0.00069 seconds |
88
+ ./spec/defra_ruby/validators/grid_reference_validator_spec.rb[1:3:1:2:1:3] | passed | 0.00118 seconds |
89
+ ./spec/defra_ruby/validators/grid_reference_validator_spec.rb[1:3:1:2:1:4:1] | passed | 0.00139 seconds |
90
+ ./spec/defra_ruby/validators/location_validator_spec.rb[1:1:1] | passed | 0.00023 seconds |
91
+ ./spec/defra_ruby/validators/location_validator_spec.rb[1:2:1] | passed | 0.00014 seconds |
92
+ ./spec/defra_ruby/validators/location_validator_spec.rb[1:2:2:1:1:1] | passed | 0.00016 seconds |
93
+ ./spec/defra_ruby/validators/location_validator_spec.rb[1:2:2:1:1:2] | passed | 0.00019 seconds |
94
+ ./spec/defra_ruby/validators/location_validator_spec.rb[1:2:2:2:1:1:1] | passed | 0.00023 seconds |
95
+ ./spec/defra_ruby/validators/location_validator_spec.rb[1:2:2:2:1:1:2] | passed | 0.0005 seconds |
96
+ ./spec/defra_ruby/validators/location_validator_spec.rb[1:2:2:2:1:1:3] | passed | 0.00055 seconds |
97
+ ./spec/defra_ruby/validators/location_validator_spec.rb[1:2:2:2:1:1:4:1] | passed | 0.00118 seconds |
98
+ ./spec/defra_ruby/validators/location_validator_spec.rb[1:2:2:2:2:1:1] | passed | 0.00032 seconds |
99
+ ./spec/defra_ruby/validators/location_validator_spec.rb[1:2:2:2:2:1:2] | passed | 0.00051 seconds |
100
+ ./spec/defra_ruby/validators/location_validator_spec.rb[1:2:2:2:2:1:3] | passed | 0.00053 seconds |
101
+ ./spec/defra_ruby/validators/location_validator_spec.rb[1:2:2:2:2:1:4:1] | passed | 0.00386 seconds |
102
+ ./spec/defra_ruby/validators/location_validator_spec.rb[1:3:1:1:1] | passed | 0.00117 seconds |
103
+ ./spec/defra_ruby/validators/location_validator_spec.rb[1:3:1:1:2] | passed | 0.00076 seconds |
104
+ ./spec/defra_ruby/validators/location_validator_spec.rb[1:3:2:1:1] | passed | 0.0008 seconds |
105
+ ./spec/defra_ruby/validators/location_validator_spec.rb[1:3:2:1:2] | passed | 0.0014 seconds |
106
+ ./spec/defra_ruby/validators/location_validator_spec.rb[1:3:2:1:3] | passed | 0.00096 seconds |
107
+ ./spec/defra_ruby/validators/location_validator_spec.rb[1:3:2:1:4:1] | passed | 0.00132 seconds |
108
+ ./spec/defra_ruby/validators/past_date_validator_spec.rb[1:1:1] | passed | 0.00014 seconds |
109
+ ./spec/defra_ruby/validators/past_date_validator_spec.rb[1:1:2] | passed | 0.00012 seconds |
110
+ ./spec/defra_ruby/validators/past_date_validator_spec.rb[1:2:1] | passed | 0.00016 seconds |
111
+ ./spec/defra_ruby/validators/past_date_validator_spec.rb[1:2:2] | passed | 0.00052 seconds |
112
+ ./spec/defra_ruby/validators/past_date_validator_spec.rb[1:2:3] | passed | 0.0005 seconds |
113
+ ./spec/defra_ruby/validators/past_date_validator_spec.rb[1:2:4:1] | passed | 0.00098 seconds |
114
+ ./spec/defra_ruby/validators/past_date_validator_spec.rb[1:3:1] | passed | 0.00033 seconds |
115
+ ./spec/defra_ruby/validators/past_date_validator_spec.rb[1:3:2] | passed | 0.00051 seconds |
116
+ ./spec/defra_ruby/validators/past_date_validator_spec.rb[1:3:3] | passed | 0.00116 seconds |
117
+ ./spec/defra_ruby/validators/past_date_validator_spec.rb[1:3:4:1] | passed | 0.00112 seconds |
118
+ ./spec/defra_ruby/validators/phone_number_validator_spec.rb[1:1:1] | passed | 0.00018 seconds |
119
+ ./spec/defra_ruby/validators/phone_number_validator_spec.rb[1:2:1] | passed | 0.00022 seconds |
120
+ ./spec/defra_ruby/validators/phone_number_validator_spec.rb[1:2:2:1:1:1] | passed | 0.00428 seconds |
121
+ ./spec/defra_ruby/validators/phone_number_validator_spec.rb[1:2:2:1:1:2] | passed | 0.02456 seconds |
122
+ ./spec/defra_ruby/validators/phone_number_validator_spec.rb[1:2:2:2:1:1:1] | passed | 0.00023 seconds |
123
+ ./spec/defra_ruby/validators/phone_number_validator_spec.rb[1:2:2:2:1:1:2] | passed | 0.0006 seconds |
124
+ ./spec/defra_ruby/validators/phone_number_validator_spec.rb[1:2:2:2:1:1:3] | passed | 0.00367 seconds |
125
+ ./spec/defra_ruby/validators/phone_number_validator_spec.rb[1:2:2:2:1:1:4:1] | passed | 0.00122 seconds |
126
+ ./spec/defra_ruby/validators/phone_number_validator_spec.rb[1:3:1] | passed | 0.00011 seconds |
127
+ ./spec/defra_ruby/validators/phone_number_validator_spec.rb[1:3:2:1:1:1] | passed | 0.00187 seconds |
128
+ ./spec/defra_ruby/validators/phone_number_validator_spec.rb[1:3:2:1:1:2] | passed | 0.00177 seconds |
129
+ ./spec/defra_ruby/validators/phone_number_validator_spec.rb[1:3:2:2:1:1:1] | passed | 0.00021 seconds |
130
+ ./spec/defra_ruby/validators/phone_number_validator_spec.rb[1:3:2:2:1:1:2] | passed | 0.00048 seconds |
131
+ ./spec/defra_ruby/validators/phone_number_validator_spec.rb[1:3:2:2:1:1:3] | passed | 0.00056 seconds |
132
+ ./spec/defra_ruby/validators/phone_number_validator_spec.rb[1:3:2:2:1:1:4:1] | passed | 0.00103 seconds |
133
+ ./spec/defra_ruby/validators/phone_number_validator_spec.rb[1:4:1:1:1:1] | passed | 0.00052 seconds |
134
+ ./spec/defra_ruby/validators/phone_number_validator_spec.rb[1:4:1:1:1:2] | passed | 0.00088 seconds |
135
+ ./spec/defra_ruby/validators/phone_number_validator_spec.rb[1:4:1:1:1:3] | passed | 0.01128 seconds |
136
+ ./spec/defra_ruby/validators/phone_number_validator_spec.rb[1:4:1:1:1:4:1] | passed | 0.00177 seconds |
137
+ ./spec/defra_ruby/validators/position_validator_spec.rb[1:1:1] | passed | 0.00011 seconds |
138
+ ./spec/defra_ruby/validators/position_validator_spec.rb[1:2:1] | passed | 0.00014 seconds |
139
+ ./spec/defra_ruby/validators/position_validator_spec.rb[1:2:2:1:1:1] | passed | 0.00018 seconds |
140
+ ./spec/defra_ruby/validators/position_validator_spec.rb[1:2:2:1:1:2] | passed | 0.00016 seconds |
141
+ ./spec/defra_ruby/validators/position_validator_spec.rb[1:2:2:2:1:1:1] | passed | 0.00022 seconds |
142
+ ./spec/defra_ruby/validators/position_validator_spec.rb[1:2:2:2:1:1:2] | passed | 0.00093 seconds |
143
+ ./spec/defra_ruby/validators/position_validator_spec.rb[1:2:2:2:1:1:3] | passed | 0.00057 seconds |
144
+ ./spec/defra_ruby/validators/position_validator_spec.rb[1:2:2:2:1:1:4:1] | passed | 0.00133 seconds |
145
+ ./spec/defra_ruby/validators/position_validator_spec.rb[1:3:1] | passed | 0.00011 seconds |
146
+ ./spec/defra_ruby/validators/position_validator_spec.rb[1:3:2:1:1:1] | passed | 0.00016 seconds |
147
+ ./spec/defra_ruby/validators/position_validator_spec.rb[1:3:2:1:1:2] | passed | 0.00015 seconds |
148
+ ./spec/defra_ruby/validators/position_validator_spec.rb[1:3:2:2:1:1:1] | passed | 0.00021 seconds |
149
+ ./spec/defra_ruby/validators/position_validator_spec.rb[1:3:2:2:1:1:2] | passed | 0.00053 seconds |
150
+ ./spec/defra_ruby/validators/position_validator_spec.rb[1:3:2:2:1:1:3] | passed | 0.00072 seconds |
151
+ ./spec/defra_ruby/validators/position_validator_spec.rb[1:3:2:2:1:1:4:1] | passed | 0.00166 seconds |
152
+ ./spec/defra_ruby/validators/position_validator_spec.rb[1:4:1:1:1:1] | passed | 0.00014 seconds |
153
+ ./spec/defra_ruby/validators/position_validator_spec.rb[1:4:1:1:1:2] | passed | 0.00016 seconds |
154
+ ./spec/defra_ruby/validators/token_validator_spec.rb[1:1:1] | passed | 0.00015 seconds |
155
+ ./spec/defra_ruby/validators/token_validator_spec.rb[1:2:1] | passed | 0.00018 seconds |
156
+ ./spec/defra_ruby/validators/token_validator_spec.rb[1:2:2:1:1:1] | passed | 0.00019 seconds |
157
+ ./spec/defra_ruby/validators/token_validator_spec.rb[1:2:2:1:1:2] | passed | 0.00013 seconds |
158
+ ./spec/defra_ruby/validators/token_validator_spec.rb[1:2:2:2:1:1:1] | passed | 0.00034 seconds |
159
+ ./spec/defra_ruby/validators/token_validator_spec.rb[1:2:2:2:1:1:2] | passed | 0.00045 seconds |
160
+ ./spec/defra_ruby/validators/token_validator_spec.rb[1:2:2:2:1:1:3] | passed | 0.0009 seconds |
161
+ ./spec/defra_ruby/validators/token_validator_spec.rb[1:2:2:2:1:1:4:1] | passed | 0.00141 seconds |
162
+ ./spec/defra_ruby/validators/token_validator_spec.rb[1:3:1:1:1:1] | passed | 0.00032 seconds |
163
+ ./spec/defra_ruby/validators/token_validator_spec.rb[1:3:1:1:1:2] | passed | 0.00058 seconds |
164
+ ./spec/defra_ruby/validators/token_validator_spec.rb[1:3:1:1:1:3] | passed | 0.0009 seconds |
165
+ ./spec/defra_ruby/validators/token_validator_spec.rb[1:3:1:1:1:4:1] | passed | 0.00128 seconds |
166
+ ./spec/defra_ruby/validators/true_false_validator_spec.rb[1:1:1] | passed | 0.00013 seconds |
167
+ ./spec/defra_ruby/validators/true_false_validator_spec.rb[1:2:1] | passed | 0.00011 seconds |
168
+ ./spec/defra_ruby/validators/true_false_validator_spec.rb[1:2:2:1:1:1] | passed | 0.00014 seconds |
169
+ ./spec/defra_ruby/validators/true_false_validator_spec.rb[1:2:2:1:1:2] | passed | 0.00014 seconds |
170
+ ./spec/defra_ruby/validators/true_false_validator_spec.rb[1:2:2:2:1:1:1] | passed | 0.00024 seconds |
171
+ ./spec/defra_ruby/validators/true_false_validator_spec.rb[1:2:2:2:1:1:2] | passed | 0.00058 seconds |
172
+ ./spec/defra_ruby/validators/true_false_validator_spec.rb[1:2:2:2:1:1:3] | passed | 0.00054 seconds |
173
+ ./spec/defra_ruby/validators/true_false_validator_spec.rb[1:2:2:2:1:1:4:1] | passed | 0.00129 seconds |
174
+ ./spec/defra_ruby/validators/true_false_validator_spec.rb[1:2:2:2:2:1:1] | passed | 0.0004 seconds |
175
+ ./spec/defra_ruby/validators/true_false_validator_spec.rb[1:2:2:2:2:1:2] | passed | 0.00102 seconds |
176
+ ./spec/defra_ruby/validators/true_false_validator_spec.rb[1:2:2:2:2:1:3] | passed | 0.00107 seconds |
177
+ ./spec/defra_ruby/validators/true_false_validator_spec.rb[1:2:2:2:2:1:4:1] | passed | 0.00153 seconds |
178
+ ./spec/defra_ruby/validators/true_false_validator_spec.rb[1:3:1] | passed | 0.00015 seconds |
179
+ ./spec/defra_ruby/validators/true_false_validator_spec.rb[1:3:2:1:1:1] | passed | 0.00015 seconds |
180
+ ./spec/defra_ruby/validators/true_false_validator_spec.rb[1:3:2:1:1:2] | passed | 0.00022 seconds |
181
+ ./spec/defra_ruby/validators/true_false_validator_spec.rb[1:3:2:2:1:1:1] | passed | 0.00018 seconds |
182
+ ./spec/defra_ruby/validators/true_false_validator_spec.rb[1:3:2:2:1:1:2] | passed | 0.00044 seconds |
183
+ ./spec/defra_ruby/validators/true_false_validator_spec.rb[1:3:2:2:1:1:3] | passed | 0.00056 seconds |
184
+ ./spec/defra_ruby/validators/true_false_validator_spec.rb[1:3:2:2:1:1:4:1] | passed | 0.00114 seconds |
185
+ ./spec/defra_ruby/validators/true_false_validator_spec.rb[1:3:2:2:2:1:1] | passed | 0.00021 seconds |
186
+ ./spec/defra_ruby/validators/true_false_validator_spec.rb[1:3:2:2:2:1:2] | passed | 0.0014 seconds |
187
+ ./spec/defra_ruby/validators/true_false_validator_spec.rb[1:3:2:2:2:1:3] | passed | 0.00064 seconds |
188
+ ./spec/defra_ruby/validators/true_false_validator_spec.rb[1:3:2:2:2:1:4:1] | passed | 0.0013 seconds |
189
+ ./spec/defra_ruby/validators_spec.rb[1:1:1] | passed | 0.00414 seconds |
data/spec/support/i18n.rb CHANGED
@@ -4,5 +4,5 @@
4
4
  # gem in a rails app to confirm these are being pulled through correctly.)
5
5
  require "i18n"
6
6
 
7
- I18n.load_path << Dir[File.expand_path("config/locales") + "/**/*.yml"]
7
+ I18n.load_path << Dir["#{File.expand_path('config/locales')}/**/*.yml"]
8
8
  I18n.default_locale = :en
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: defra_ruby_validators
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.1
4
+ version: 2.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Defra
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-07 00:00:00.000000000 Z
11
+ date: 2022-01-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -262,6 +262,7 @@ files:
262
262
  - spec/defra_ruby/validators/token_validator_spec.rb
263
263
  - spec/defra_ruby/validators/true_false_validator_spec.rb
264
264
  - spec/defra_ruby/validators_spec.rb
265
+ - spec/examples.txt
265
266
  - spec/spec_helper.rb
266
267
  - spec/support/defra_ruby_validators.rb
267
268
  - spec/support/helpers/text_generator.rb
@@ -296,8 +297,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
296
297
  - !ruby/object:Gem::Version
297
298
  version: '0'
298
299
  requirements: []
299
- rubyforge_project:
300
- rubygems_version: 2.6.13
300
+ rubygems_version: 3.1.2
301
301
  signing_key:
302
302
  specification_version: 4
303
303
  summary: Defra ruby on rails validations
@@ -316,6 +316,7 @@ test_files:
316
316
  - spec/defra_ruby/validators/true_false_validator_spec.rb
317
317
  - spec/defra_ruby/validators/location_validator_spec.rb
318
318
  - spec/defra_ruby/validators/email_validator_spec.rb
319
+ - spec/examples.txt
319
320
  - spec/support/simplecov.rb
320
321
  - spec/support/i18n.rb
321
322
  - spec/support/pry.rb