Class: CodiceFiscale::ItalianCitizen

Inherits:
Object
  • Object
show all
Includes:
ActiveModel::Validations
Defined in:
lib/codice_fiscale/italian_citizen.rb

Constant Summary collapse

MANDATORY_ATTRIBUTES =
[:name, :surname, :birthdate, :gender]

Instance Method Summary collapse

Constructor Details

#initialize(attributes) ⇒ ItalianCitizen

Instance methods



22
23
24
25
# File 'lib/codice_fiscale/italian_citizen.rb', line 22

def initialize attributes
  @attributes = default_attributes.merge attributes
  @attributes.each { |name, value| send("#{name}=", value) }
end

Instance Method Details

#born_in_italy?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/codice_fiscale/italian_citizen.rb', line 31

def born_in_italy?
  Codes.italy? country_name
end

#default_attributesObject



27
28
29
# File 'lib/codice_fiscale/italian_citizen.rb', line 27

def default_attributes
  {:country_name => Codes::ITALY}
end

#female?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/codice_fiscale/italian_citizen.rb', line 35

def female?
  gender == :female
end

#fiscal_codeObject



39
40
41
# File 'lib/codice_fiscale/italian_citizen.rb', line 39

def fiscal_code
  FiscalCode.new(self).calculate
end

#read_attribute_for_validation(key) ⇒ Object

This method exists to support ActiveModel::Validations integration



44
45
46
# File 'lib/codice_fiscale/italian_citizen.rb', line 44

def read_attribute_for_validation key
  @attributes[key]
end