class Formulas::PAYG

Calculate basic salary in frequency salary = Income::Salary.new(52_000, Salary::ANNUAL)

Taxable income

Tax on this income

0 – $18,200

Nil

$18,201 – $45,000

19 cents for each $1 over $18,200

$45,001 – $120,000

$5,092 plus 32.5 cents for each $1 over $45,000

$120,001 – $180,000

$29,467 plus 37 cents for each $1 over $120,000

$180,001 and over

$51,667 plus 45 cents for each $1 over $180,000

Plus 2 percent medicare

salary.calculate(:monthly)

Constants

TAX_RATES

Provide a way to calculate pay as you earn calculator

Public Class Methods

new(gross_pay:, frequency: Formulas::MONTHLY) click to toggle source
Calls superclass method
# File lib/formulas/payg.rb, line 45
def initialize(gross_pay:, frequency: Formulas::MONTHLY)
  super(gross_pay, frequency, TAX_RATES)
end

Public Instance Methods

tax(request_frequency: Formulas::WEEKLY) click to toggle source
# File lib/formulas/payg.rb, line 49
def tax(request_frequency: Formulas::WEEKLY)
  calculate_tax(request_frequency) * 1.02
end