Class: IncomeTax::Countries::France

Inherits:
Models::Progressive show all
Defined in:
lib/income_tax/countries/france.rb

Instance Attribute Summary

Attributes inherited from Models::Generic

#gross_income, #net_income, #options, #rate, #taxes

Instance Method Summary collapse

Methods inherited from Models::Progressive

#calculate_gross, #calculate_net, level, #level_category, levels, offset, remainder, tax_year, tax_years

Methods inherited from Models::Generic

#based_on?, #cast_value, #cast_values, currency, #initialize, #inspect, lazy, #location_name, method_added, name, names, new, other_names, register, register_on, #set_default_options, #setup, #validate, wants_options

Constructor Details

This class inherits a constructor from IncomeTax::Models::Generic

Instance Method Details

#levelsObject



26
27
28
# File 'lib/income_tax/countries/france.rb', line 26

def levels
  super(:per_unit).multiply_brackets(units)
end

#unitsObject



30
31
32
33
34
35
36
37
38
39
# File 'lib/income_tax/countries/france.rb', line 30

def units
  units = married? ? 2 : 1

  if children and children > 0
    units += 0.5
    units += children * 0.5
  end

  units
end