Module: Train::Tax::Calculator

Defined in:
lib/train/tax/calculator.rb,
lib/train/tax/calculator/sss.rb,
lib/train/tax/calculator/pagibig.rb,
lib/train/tax/calculator/version.rb,
lib/train/tax/calculator/deductions.rb,
lib/train/tax/calculator/philhealth.rb,
lib/train/tax/calculator/withholding_tax.rb

Defined Under Namespace

Modules: Pagibig, Philhealth, Sss, WithholdingTax Classes: Deductions

Constant Summary collapse

VERSION =
"3.0.0"

Class Method Summary collapse

Class Method Details

.call(basic_salary) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/train/tax/calculator.rb', line 12

def self.call(basic_salary)
  return 0.00 if basic_salary <= 0

  hash = Hash.new

  hash[:sss]              = Sss.(basic_salary)
  hash[:pagibig]          = Pagibig.(basic_salary)
  hash[:philhealth]       = Philhealth.(basic_salary)
  hash[:total_deductions] = Deductions.(basic_salary)
  hash[:withholding_tax]  = WithholdingTax.(basic_salary)
  hash[:net_income]       = (basic_salary - hash[:withholding_tax]).round(2)

  hash
end