Class: IncomeTax::Countries::UnitedStates::Federal

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

Constant Summary collapse

GROUPS =
[:single, :joint, :separate, :head_of_household]
MARGINAL_TAX =
[
  [ "10%", 9225,   18450,  9225,   13150  ],
  [ "15%", 37450,  74900,  37450,  50200  ],
  [ "25%", 90750,  151200, 75600,  129600 ],
  [ "28%", 189300, 230450, 115225, 209850 ],
  [ "33%", 411500, 411500, 205750, 411500 ],
  [ "35%", 413200, 464850, 232425, 439000 ],
]
REMAINDER =
"39.6%"
STANDARD_DEDUTIONS =
[ 6300, 12600, 6300, 9250 ]

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, levels, #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

#level_categoryObject



7
8
9
10
11
12
# File 'lib/income_tax/countries/united_states/federal.rb', line 7

def level_category
  return :single unless married?
  return :joint if joint_statement?
  return :separate unless head_of_household or head_of_household.nil?
  :head_of_household
end