Module: SingaporeCharitableDonations::Calculators::ECF::Year2015Calculator

Defined in:
lib/singapore_charitable_donations/calculators/ecf/year_2015_calculator.rb

Overview

Eurasian Community Fund contribution calculator for the year 2015 onwards.

Class Method Summary collapse

Class Method Details

.applies_to?(date, type) ⇒ TrueClass, FalseClass

Parameters:

  • date (Date)

    to be considered for calculation

  • type (String)

    of charitable contribution

Returns:

  • (TrueClass, FalseClass)


33
34
35
# File 'lib/singapore_charitable_donations/calculators/ecf/year_2015_calculator.rb', line 33

def applies_to?(date, type)
  date.year >= 2015 && type == 'ECF'
end

.calculate(total_wages) ⇒ BigDecimal

Returns contribution amount.

Parameters:

  • total_wage (BigDecimal)

Returns:

  • (BigDecimal)

    contribution amount



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/singapore_charitable_donations/calculators/ecf/year_2015_calculator.rb', line 11

def calculate(total_wages)
  case
  when total_wages <= 1_000.00
    BigDecimal "2.00"
  when total_wages <= 1_500.00
    BigDecimal "4.00"
  when total_wages <= 2_500.00
    BigDecimal "6.00"
  when total_wages <= 4_000.00
    BigDecimal "9.00"
  when total_wages <= 7_000.00
    BigDecimal "12.00"
  when total_wages <= 10_000.00
    BigDecimal "16.00"
  else # total_wages > 10_000.00
    BigDecimal "20.00"
  end
end