Module: Train::Tax::Calculator

Defined in:
lib/train/tax/calculator/sss.rb,
lib/train/tax/calculator.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

Overview

Defined Under Namespace

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

Constant Summary collapse

VERSION =
"2.3.0"

Class Method Summary collapse

Class Method Details

.call(basic_salary) ⇒ Object



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

def self.call(basic_salary)
  hash = Hash.new

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

  hash
end