personnummer 0.0.9 → 0.1.0

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: 032c8bcc1d8384e04c73c0de80184312709cf172
4
- data.tar.gz: b6efa13a2448d00ff2f2e74fb6bbb8c8278ed899
3
+ metadata.gz: 2d6e64825d8e5714d4e331370dbd8dfa7238bd45
4
+ data.tar.gz: 60bbd44d98e1fc450db6461c11979236b1f5de96
5
5
  SHA512:
6
- metadata.gz: c7a092f1bc01b7a7ada2421b0b40cc1c07e5b579b0d338afcf3d1d6524a4c9ac391ca2f6c5cfc2fba408eedeffb825665ebb04c0ec36c6689a50d60b8ac4093e
7
- data.tar.gz: 686f92b1f6d02236ed81825ebfc22fe7915b78679cffe75be5dcc11ac44d597db948a5f2e5d54fbc96dceb6ca50d93e0ce41a59aa33bf761b39431c98d85b0c0
6
+ metadata.gz: ac0b554f4d547f4b39e67698c8ea9615294167a5cae0292ed58084895cffaa0f23b6b399f9c4fe3e29488d4cdff565ba50459f9fa2c7d9e52312b9fa6212b2ac
7
+ data.tar.gz: a24fb8d537c52d25756b31b6f7bb811bd405b6deaf193072757b46c9ff1960a5ad61b50d22b2d506580e3e1c3985129ea41d5ae0b8d99cbbf808ae9813f35d41
@@ -33,3 +33,21 @@ These numbers are obtained by adding 60 to the day of the birth date
33
33
  >> p.co_ordination_number?
34
34
  => true
35
35
  ```
36
+
37
+ ### Equality
38
+
39
+ ```
40
+ >> p1 = Personnummer.new(8304285912)
41
+ => #<Personnummer:0x007fb8fd816588 @valid=true, @control_digit=2, @divider="-", @serial=591, @born=#<Personnummer::Born:0x007fb8fd80fa80 @divider="-", @day=28, @month=4, @year=1983>, @region="Skaraborgs län", @female=false>
42
+
43
+ >> p1 == 8304285912
44
+ => true
45
+ p1 == '8304285912'
46
+ => true
47
+ ```
48
+
49
+ ### Note on "reservnummer"
50
+
51
+ "Reservnummer" is used in some special cases. There are only recommendations how it should be formatted, no formalized standard.
52
+
53
+ You can read more about it on [wikipedia](https://sv.wikipedia.org/wiki/Reservnummer#Format).
@@ -55,6 +55,12 @@ class Personnummer
55
55
  @born.to_date
56
56
  end
57
57
 
58
+ def ==(other)
59
+ other = self.class.new(other) if other.is_a?(String) || other.is_a?(Integer)
60
+
61
+ to_s == other.to_s
62
+ end
63
+
58
64
  def to_s
59
65
  born_string = born.strftime("%y%m%d")
60
66
 
@@ -3,8 +3,8 @@ $:.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.9"
7
- s.authors = ["Peter Hellberg", "Victor Koronen", "Sebastian Wallin"]
6
+ s.version = "0.1.0"
7
+ s.authors = ["Peter Hellberg", "Victor Koronen", "Jacob Burenstam", "Sebastian Wallin", "Jens Carlén"]
8
8
  s.email = ["peter@c7.se"]
9
9
  s.homepage = "https://github.com/c7/personnummer/"
10
10
  s.summary = %q{Personnummer handles validation of Swedish personal identity numbers.}
@@ -170,6 +170,30 @@ describe Personnummer do
170
170
  end
171
171
  end
172
172
 
173
+ describe "equality" do
174
+ it "true when equal" do
175
+ personummer1 = Personnummer.new('900101-001')
176
+ personummer2 = Personnummer.new('900101-001')
177
+ (personummer1 == personummer2).should == true
178
+ end
179
+
180
+ it "true when equal and passed equal string" do
181
+ personummer1 = Personnummer.new('900101-001')
182
+ (personummer1 == '900101-001').should == true
183
+ end
184
+
185
+ it "true when equal and passed equal integer" do
186
+ personummer1 = Personnummer.new('900101-001')
187
+ (personummer1 == 900101001).should == true
188
+ end
189
+
190
+ it "false non-equal objects" do
191
+ personummer1 = Personnummer.new('900101-001')
192
+ personummer2 = Personnummer.new('900101-002')
193
+ (personummer1 == personummer2).should == false
194
+ end
195
+ end
196
+
173
197
  def it_maps_range_to_region(range, region)
174
198
  Personnummer.new('901231-%03d' % range.first).region.should == region
175
199
  Personnummer.new('901231-%03d' % range.last).region.should == region
metadata CHANGED
@@ -1,16 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: personnummer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Hellberg
8
8
  - Victor Koronen
9
+ - Jacob Burenstam
9
10
  - Sebastian Wallin
11
+ - Jens Carlén
10
12
  autorequire:
11
13
  bindir: bin
12
14
  cert_chain: []
13
- date: 2016-09-01 00:00:00.000000000 Z
15
+ date: 2017-11-08 00:00:00.000000000 Z
14
16
  dependencies:
15
17
  - !ruby/object:Gem::Dependency
16
18
  name: rake
@@ -136,7 +138,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
136
138
  version: '0'
137
139
  requirements: []
138
140
  rubyforge_project:
139
- rubygems_version: 2.5.1
141
+ rubygems_version: 2.6.14
140
142
  signing_key:
141
143
  specification_version: 4
142
144
  summary: Personnummer handles validation of Swedish personal identity numbers.