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