egn 1.2.2 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cee82c8e708ea7a658400ed8e8bf7e092a5863a4
4
- data.tar.gz: 674f9a620c7e20e250ede85e182bbbdb08368c39
3
+ metadata.gz: 80578007ebb3c753374be5259319fbeca15c263d
4
+ data.tar.gz: b4719061f4bf6f4d155eeca9f2a23c1b45d02280
5
5
  SHA512:
6
- metadata.gz: aef0b00b4fb230d1ce5a43fa05b6522bb16d58915a514505d03f6233fabe3b24bf4faaecdf05331a9415305757b8271e3cd761992ad0003185a2cea3efa15886
7
- data.tar.gz: b81ae27bfc6cc0029947e7db3106fc27a27f9cd26c384396603aea361c67a614509c5c6d378b5244dd3f0b334d5101d7b4d4d853a22d22bcacf721a49ed5bfda
6
+ metadata.gz: de89f0471ddbbf2f1c743317340537cc177239069fafb8a356b5dd66f32e016d2e85d198989028a05e09a2353d807cb345007cf32cd5ace50c93724d1289bd91
7
+ data.tar.gz: 0e887538200413774cb6b6dd22d7ad125c9b7d06b6c4285c874534c71cb98d5290add5b990fbaebde0f842f09c22b3785db7f788aec67a3cdf28979d05994350
data/lib/egn/egn.rb CHANGED
@@ -43,12 +43,30 @@ module Egn
43
43
  @birth_date.year
44
44
  end
45
45
 
46
- def sex
47
- number[8,1].to_i.even? ? :male : :female
46
+ # Formats
47
+ # default: :male | :female
48
+ # number: 1 | 2
49
+ # char: 'm' | 'f'
50
+ def sex(options={})
51
+ options = {
52
+ format: :default
53
+ }.merge(options)
54
+
55
+ male = number[8,1].to_i.even?
56
+
57
+ case options[:format]
58
+ when :default
59
+ male ? :male : :female
60
+ when :number
61
+ male ? 1 : 2
62
+ when :char
63
+ male ? 'm' : 'f'
64
+ end
48
65
  end
66
+ alias_method :gender, :sex
49
67
 
50
68
  def to_s
51
- @number
69
+ "#{@number} | Gender: #{gender} | Birthdate: #{@birth_date} | Valid: #{valid?}"
52
70
  end
53
71
 
54
72
  private
data/lib/egn/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Egn
2
- VERSION = "1.2.2"
2
+ VERSION = "1.3.0"
3
3
  end
data/spec/egn/egn_spec.rb CHANGED
@@ -99,6 +99,22 @@ describe "Egn" do
99
99
  end
100
100
  end
101
101
 
102
+ it 'allows an option to be passed that changes the output to numbers' do
103
+ male = Egn.parse("0612318303")
104
+ female = Egn.parse("5202079211")
105
+
106
+ expect(male.sex(format: :number)).to eq 1
107
+ expect(female.sex(format: :number)).to eq 2
108
+ end
109
+
110
+ it 'allows an option to be passed that changes the output to a single char' do
111
+ male = Egn.parse("0612318303")
112
+ female = Egn.parse("5202079211")
113
+
114
+ expect(male.sex(format: :char)).to eq 'm'
115
+ expect(female.sex(format: :char)).to eq 'f'
116
+ end
117
+
102
118
  end
103
119
 
104
120
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: egn
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.2
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - gmitrev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-28 00:00:00.000000000 Z
11
+ date: 2014-11-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler