resident 0.0.14 → 0.0.15
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
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 10570376ab3b4bace53b841cef776196df2ca868f1b58894245f369ed961ee48
|
4
|
+
data.tar.gz: b0ee9c563dca36dc0ef8eea25022970487d157fb648cd0a1078ed4263a12b27a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fc5284eb2da72ef4fdd8cc67eb2d1b220fd948b69c8e1e950a5f8c3bdc4d4d36fd8c79d6697d92dd1460f305ea1bd1fe98bc9b0a47a5ae87ddcc5ccf8b87ba54
|
7
|
+
data.tar.gz: 36c549365b79eeaebbfb20cbc01eac1fb70e788e5b284279e17dc35a0cf927d6ab17ad5c6b0c63e2b3a804436fc82c9143f6fa8d066ca86d71685482cb42ace0
|
@@ -25,8 +25,22 @@ module NationalIdentificationNumber
|
|
25
25
|
|
26
26
|
protected
|
27
27
|
|
28
|
+
def parse_twelve_digits
|
29
|
+
return unless @number.match(/\A(\d{4})(\d{2})(\d{2})(\d{4})\Z/)
|
30
|
+
year = $1
|
31
|
+
month = $2
|
32
|
+
day = $3
|
33
|
+
born = Date.new(year.to_i, month.to_i, day.to_i)
|
34
|
+
sep = born < Date.today.prev_year(100) ? '+' : '-'
|
35
|
+
@number = "#{year[2..]}#{month}#{day}#{sep}#{$4}"
|
36
|
+
rescue Date::Error
|
37
|
+
nil
|
38
|
+
end
|
39
|
+
|
28
40
|
def repair
|
29
41
|
super
|
42
|
+
return if parse_twelve_digits
|
43
|
+
|
30
44
|
if @number.match(/\A(\d{0}|\d{2})(\d{6})(\-{0,1})(\d{4})\Z/)
|
31
45
|
@number = "#{$2}-#{$4}"
|
32
46
|
else
|
@@ -47,7 +61,7 @@ module NationalIdentificationNumber
|
|
47
61
|
year = $1.to_i
|
48
62
|
month = $2.to_i
|
49
63
|
day = $3.to_i
|
50
|
-
divider
|
64
|
+
divider = $4 || '-'
|
51
65
|
serial = $5.to_i
|
52
66
|
|
53
67
|
today = Date.today
|
@@ -59,7 +73,6 @@ module NationalIdentificationNumber
|
|
59
73
|
century = 1800
|
60
74
|
else
|
61
75
|
preliminary_age = age_for_dob(Date.parse("#{1900 + year}-#{month}-#{day}")) rescue 0
|
62
|
-
#raise preliminary_age.inspect
|
63
76
|
if preliminary_age > 99
|
64
77
|
# It's unlikely that the person is older than 99, so assume a child when no divider was provided.
|
65
78
|
century = 2000
|
@@ -62,7 +62,7 @@ describe Swedish, '.generate' do
|
|
62
62
|
end
|
63
63
|
|
64
64
|
context 'valid numbers' do
|
65
|
-
it 'is the sanitize
|
65
|
+
it 'is the sanitize number' do
|
66
66
|
expect(Swedish.new('19180123-2669').sanitize).to eq '180123-2669'
|
67
67
|
expect(Swedish.new('00180123-2669').sanitize).to eq '180123-2669'
|
68
68
|
expect(Swedish.new('000180123-2669').sanitize).to eq '180123-2669'
|
@@ -72,6 +72,11 @@ describe Swedish, '.generate' do
|
|
72
72
|
expect(Swedish.new('450202-6950').sanitize).to eq '450202-6950'
|
73
73
|
expect(Swedish.new('19450202-6950').sanitize).to eq '450202-6950'
|
74
74
|
end
|
75
|
+
|
76
|
+
it 'adds - or + depending on century for twelve digit formats' do
|
77
|
+
expect(Swedish.new('202401275181').sanitize).to eq "240127-5181"
|
78
|
+
expect(Swedish.new('192401275181').sanitize).to eq "240127+5181"
|
79
|
+
end
|
75
80
|
end
|
76
81
|
end
|
77
82
|
|
@@ -125,7 +130,7 @@ describe Swedish, '.generate' do
|
|
125
130
|
expect( Swedish.new('0501261853').to_s ).to eq '050126-1853'
|
126
131
|
expect( Swedish.new('050126-1853').to_s ).to eq '050126-1853'
|
127
132
|
expect( Swedish.new('0asdfghj501261853').to_s).to eq '050126-1853'
|
128
|
-
expect( Swedish.new("190501261853").to_s ).to eq '050126
|
133
|
+
expect( Swedish.new("190501261853").to_s ).to eq '050126+1853'
|
129
134
|
expect( Swedish.new("19050126-1853").to_s ).to eq '050126-1853'
|
130
135
|
expect( Swedish.new("19050126-185d3").to_s ).to eq '050126-1853'
|
131
136
|
expect( Swedish.new("19050126-185d3\n").to_s ).to eq '050126-1853'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: resident
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.15
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bukowskis
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-01-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -38,8 +38,8 @@ dependencies:
|
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
-
description:
|
42
|
-
email:
|
41
|
+
description:
|
42
|
+
email:
|
43
43
|
executables: []
|
44
44
|
extensions: []
|
45
45
|
extra_rdoc_files: []
|
@@ -63,7 +63,7 @@ homepage: http://github.com/bukowskis/national_identification_number/
|
|
63
63
|
licenses:
|
64
64
|
- MIT-LICENSE
|
65
65
|
metadata: {}
|
66
|
-
post_install_message:
|
66
|
+
post_install_message:
|
67
67
|
rdoc_options: []
|
68
68
|
require_paths:
|
69
69
|
- lib
|
@@ -79,8 +79,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
79
79
|
- !ruby/object:Gem::Version
|
80
80
|
version: '0'
|
81
81
|
requirements: []
|
82
|
-
rubygems_version: 3.
|
83
|
-
signing_key:
|
82
|
+
rubygems_version: 3.4.10
|
83
|
+
signing_key:
|
84
84
|
specification_version: 4
|
85
85
|
summary: Validate National Identification Numbers.
|
86
86
|
test_files: []
|