personnummer 0.0.8 → 0.0.9
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of personnummer might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Changelog +4 -0
- data/Gemfile.lock +4 -1
- data/README.markdown +18 -14
- data/lib/personnummer.rb +8 -1
- data/personnummer.gemspec +1 -1
- data/spec/lib/personnummer_spec.rb +1 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 032c8bcc1d8384e04c73c0de80184312709cf172
|
4
|
+
data.tar.gz: b6efa13a2448d00ff2f2e74fb6bbb8c8278ed899
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c7a092f1bc01b7a7ada2421b0b40cc1c07e5b579b0d338afcf3d1d6524a4c9ac391ca2f6c5cfc2fba408eedeffb825665ebb04c0ec36c6689a50d60b8ac4093e
|
7
|
+
data.tar.gz: 686f92b1f6d02236ed81825ebfc22fe7915b78679cffe75be5dcc11ac44d597db948a5f2e5d54fbc96dceb6ca50d93e0ce41a59aa33bf761b39431c98d85b0c0
|
data/Changelog
CHANGED
data/Gemfile.lock
CHANGED
data/README.markdown
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Personnummer
|
2
2
|
|
3
|
-
Personnummer is a ruby class that handles [Swedish personal identity number](http://en.wikipedia.org/wiki/Personal_identity_number_(Sweden
|
3
|
+
Personnummer is a ruby class that handles [Swedish personal identity number](http://en.wikipedia.org/wiki/Personal_identity_number_(Sweden)).
|
4
4
|
|
5
5
|
### Installation
|
6
6
|
|
@@ -8,12 +8,16 @@ Personnummer is a ruby class that handles [Swedish personal identity number](htt
|
|
8
8
|
|
9
9
|
### Example usage
|
10
10
|
|
11
|
-
|
12
|
-
|
11
|
+
```
|
12
|
+
>> p = Personnummer.new('830428-5912')
|
13
|
+
#>>Personnummer:0x007fc971369100 @valid=true, @control_digit=2, @divider="-", @serial=591, @born=#>>PersonnummerDate:0x007fc971368318 @divider="-", @day=28, @month=4, @year=1983> #<, @region="Skaraborgs län", @female=false> #<
|
13
14
|
|
14
|
-
|
15
|
-
|
16
|
-
|
15
|
+
>> p.valid?
|
16
|
+
=> true
|
17
|
+
|
18
|
+
>> p = Personnummer.new('830428')
|
19
|
+
=> ArgumentError: The supplied personnummer is invalid
|
20
|
+
```
|
17
21
|
|
18
22
|
### This implementation also supports co-ordination numbers
|
19
23
|
|
@@ -21,11 +25,11 @@ Personnummer is a ruby class that handles [Swedish personal identity number](htt
|
|
21
25
|
|
22
26
|
These numbers are obtained by adding 60 to the day of the birth date
|
23
27
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
28
|
+
```
|
29
|
+
>> p = Personnummer.new('830488-5912')
|
30
|
+
=> #<Personnummer:0x007fbafd1458d8 ...>
|
31
|
+
>> p.born
|
32
|
+
=> #<Date: 1983-04-28 ((2445453j,0s,0n),+0s,2299161j)>
|
33
|
+
>> p.co_ordination_number?
|
34
|
+
=> true
|
35
|
+
```
|
data/lib/personnummer.rb
CHANGED
@@ -56,7 +56,14 @@ class Personnummer
|
|
56
56
|
end
|
57
57
|
|
58
58
|
def to_s
|
59
|
-
|
59
|
+
born_string = born.strftime("%y%m%d")
|
60
|
+
|
61
|
+
if co_ordination_number?
|
62
|
+
day = born_string[4..6].to_i + 60
|
63
|
+
born_string = [born_string[0..3], "%02d" % day].join
|
64
|
+
end
|
65
|
+
|
66
|
+
"%s%s%03d%d" % [born_string, @divider, @serial, @control_digit]
|
60
67
|
end
|
61
68
|
|
62
69
|
def valid?
|
data/personnummer.gemspec
CHANGED
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "personnummer"
|
6
|
-
s.version = "0.0.
|
6
|
+
s.version = "0.0.9"
|
7
7
|
s.authors = ["Peter Hellberg", "Victor Koronen", "Sebastian Wallin"]
|
8
8
|
s.email = ["peter@c7.se"]
|
9
9
|
s.homepage = "https://github.com/c7/personnummer/"
|
@@ -122,6 +122,7 @@ describe Personnummer do
|
|
122
122
|
Personnummer.new('900101-001').to_s.should == '900101-0017'
|
123
123
|
Personnummer.new('19900101-001').to_s.should == '900101-0017'
|
124
124
|
Personnummer.new('18900101-001').to_s.should == '900101-0017'
|
125
|
+
Personnummer.new('7010632391').to_s.should == '701063-2391' # Samordningsnummer
|
125
126
|
end
|
126
127
|
end
|
127
128
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: personnummer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Hellberg
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2016-09-01 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rake
|
@@ -136,7 +136,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
136
136
|
version: '0'
|
137
137
|
requirements: []
|
138
138
|
rubyforge_project:
|
139
|
-
rubygems_version: 2.
|
139
|
+
rubygems_version: 2.5.1
|
140
140
|
signing_key:
|
141
141
|
specification_version: 4
|
142
142
|
summary: Personnummer handles validation of Swedish personal identity numbers.
|