lib/egn/egn.rb in egn-1.3.2 vs lib/egn/egn.rb in egn-1.3.3
- old
+ new
@@ -1,27 +1,26 @@
# The main data class
module Egn
class Egn
attr_reader :number, :birth_date
- # Creates a new EGN object. Has different effects depending on the argument.
- # When no arguments are given, it generates a new random EGN
- # When a String is given, it is assumed that it is an EGN and is parsed
- # When a hash is given, a new EGN is generated with the provided options
- def initialize(args=nil)
-
+ # Creates a new EGN object. Has different effects depending on the arguments:
+ # when no arguments are given, it generates a new random EGN;
+ # when a String is given, it is parsed as an EGN;
+ # when a hash is given, a new EGN is generated with the provided options.
+ def initialize(args = nil)
if args.nil?
@number = Generator.generate
else
case args
when Hash
@number = Generator.generate(args)
when String
@number = args
- raise ArgumentError, "Invalid EGN" unless self.valid?
+ raise ArgumentError, 'Invalid EGN' unless self.valid?
else
- raise ArgumentError, "Egn#new should be called either with an EGN or with an options hash"
+ raise ArgumentError, 'Egn#new should be called either with an EGN or with an options hash'
end
end
parse!
end
@@ -45,16 +44,16 @@
# Formats
# default: :male | :female
# number: 1 | 2
# char: 'm' | 'f'
- def sex(options={})
+ def sex(options = {})
options = {
format: :default
}.merge(options)
- male = number[8,1].to_i.even?
+ male = number[8, 1].to_i.even?
case options[:format]
when :default
male ? :male : :female
when :number
@@ -75,8 +74,7 @@
def parse!
info = Parser.new(@number)
@birth_date = info.date
end
-
end
end