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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0fc6165e81ecc9904de06d3afdf83461feb9eb95
4
- data.tar.gz: c6928771697ab2d52624352bca95a8ad45c7d40a
3
+ metadata.gz: 032c8bcc1d8384e04c73c0de80184312709cf172
4
+ data.tar.gz: b6efa13a2448d00ff2f2e74fb6bbb8c8278ed899
5
5
  SHA512:
6
- metadata.gz: e98dd51c3bc8905d85776f2ac45569d69753f31192a979893c17a8ec4522cf6d5a728c09d2be2d4dbe1c1fe97c1cccf16ee739a89b63df7ae37496fc5d75eb16
7
- data.tar.gz: 91016101d1c9f6e7f14ed09717074922a82e474ef3c3035874035ef62599e0de22b5910d3801ecc3257f039d454eb786248f140318f8e290cc6683d265cf61da
6
+ metadata.gz: c7a092f1bc01b7a7ada2421b0b40cc1c07e5b579b0d338afcf3d1d6524a4c9ac391ca2f6c5cfc2fba408eedeffb825665ebb04c0ec36c6689a50d60b8ac4093e
7
+ data.tar.gz: 686f92b1f6d02236ed81825ebfc22fe7915b78679cffe75be5dcc11ac44d597db948a5f2e5d54fbc96dceb6ca50d93e0ce41a59aa33bf761b39431c98d85b0c0
data/Changelog CHANGED
@@ -1,3 +1,7 @@
1
+ 0.0.9 Released
2
+
3
+ 2016-09-01: Return correct standardized string for samordningsnummer
4
+
1
5
  0.0.8 Released
2
6
 
3
7
  2014-06-29: Support for co-ordination numbers (theneubeck)
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- personnummer (0.0.8)
4
+ personnummer (0.0.9)
5
5
 
6
6
  GEM
7
7
  remote: http://rubygems.org/
@@ -39,3 +39,6 @@ DEPENDENCIES
39
39
  rake
40
40
  rspec
41
41
  timecop
42
+
43
+ BUNDLED WITH
44
+ 1.11.2
@@ -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
- <pre>&gt;&gt; p = Personnummer.new('830428-5912')
12
- #&gt;&gt;Personnummer:0x007fc971369100 @valid=true, @control_digit=2, @divider="-", @serial=591, @born=#&gt;&gt;PersonnummerDate:0x007fc971368318 @divider="-", @day=28, @month=4, @year=1983&gt; #&lt;, @region="Skaraborgs län", @female=false&gt; #&lt;
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
- &gt;&gt; p.valid?
15
- =&gt; true</pre>
16
- </pre>
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
- <pre>
25
- &gt;&gt; p = Personnummer.new('830488-5912')
26
- =&gt; #&lt;Personnummer:0x007fbafd1458d8 @valid=false, @control_digit=2, @divider="-", @serial=591, @born=#&lt;PersonnummerDate:0x007fbafd144af0 @divider="-", @day=88, @month=4, @year=1983&gt;, @region="Skaraborgs län", @female=false&gt;
27
- &gt;&gt; p.born_at
28
- =&gt; #&lt;Date: 1983-04-28 ((2445453j,0s,0n),+0s,2299161j)&gt;
29
- &gt;&gt; p.co_ordination_number?
30
- =&gt; true
31
- </pre>
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
+ ```
@@ -56,7 +56,14 @@ class Personnummer
56
56
  end
57
57
 
58
58
  def to_s
59
- "%s%s%03d%d" % [born.strftime("%y%m%d"), @divider, @serial, @control_digit]
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?
@@ -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.8"
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.8
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: 2014-06-29 00:00:00.000000000 Z
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.3.0
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.