lib/cfita/codice_fiscale.rb in cfita-0.0.6 vs lib/cfita/codice_fiscale.rb in cfita-0.0.7
- old
+ new
@@ -1,9 +1,9 @@
# frozen_string_literal: true
require 'active_support/all'
-require 'cfita/codici_catastali.rb'
+require 'cfita/codici_catastali'
module Cfita
# Controllo codice fiscale italiano
class CodiceFiscale
attr_reader :fiscal_code,
@@ -19,17 +19,20 @@
def initialize(
fiscal_code,
birth_place: nil,
birth_date: nil,
name: nil,
- surname: nil
+ surname: nil,
+ sex: nil
)
@fiscal_code = fiscal_code.upcase.strip
@birth_place = birth_place&.upcase
- @birth_date = birth_date && (birth_date.is_a?(Date) ? birth_date : Date.parse(birth_date))
+ @birth_date = birth_date
+ @birth_date = Date.parse(birth_date) if birth_date.is_a?(String)
@name = name&.parameterize&.upcase
@surname = surname&.parameterize&.upcase
+ @sex = sex&.upcase
@errors = []
parse
end
def to_s
@@ -52,9 +55,10 @@
check_name
check_surname
check_birth_date
check_birth_place
+ check_sex
end
def check_name
return unless @name