Class: CodiceFiscale::ItalianCitizen
- Inherits:
-
Object
- Object
- CodiceFiscale::ItalianCitizen
- Includes:
- ActiveModel::Validations
- Defined in:
- lib/codice_fiscale/italian_citizen.rb
Constant Summary collapse
- MANDATORY_ATTRIBUTES =
[:name, :surname, :birthdate, :gender]
Instance Method Summary collapse
- #born_in_italy? ⇒ Boolean
- #default_attributes ⇒ Object
- #female? ⇒ Boolean
- #fiscal_code ⇒ Object
-
#initialize(attributes) ⇒ ItalianCitizen
constructor
Instance methods.
-
#read_attribute_for_validation(key) ⇒ Object
This method exists to support ActiveModel::Validations integration.
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
31 32 33 |
# File 'lib/codice_fiscale/italian_citizen.rb', line 31 def born_in_italy? Codes.italy? country_name end |
#default_attributes ⇒ Object
27 28 29 |
# File 'lib/codice_fiscale/italian_citizen.rb', line 27 def default_attributes {:country_name => Codes::ITALY} end |
#female? ⇒ Boolean
35 36 37 |
# File 'lib/codice_fiscale/italian_citizen.rb', line 35 def female? gender == :female end |
#fiscal_code ⇒ Object
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 |