@@ -12,17 +12,17 @@ class MaternityPaternityCalculator
12
12
:a_notice_leave , :last_payday , :pre_offset_payday , :pay_date , :paternity_leave_duration ,
13
13
:pay_day_in_month , :pay_day_in_week , :pay_method , :pay_week_in_month , :work_days , :date_of_birth , :awe
14
14
15
- DAYS_OF_THE_WEEK = [ " Sunday" , " Monday" , " Tuesday" , " Wednesday" , " Thursday" , " Friday" , " Saturday" ]
15
+ DAYS_OF_THE_WEEK = %w( Sunday Monday Tuesday Wednesday Thursday Friday Saturday )
16
16
17
17
def initialize ( match_or_due_date , leave_type = "maternity" )
18
18
expected_start = match_or_due_date - match_or_due_date . wday
19
19
qualifying_start = 15 . weeks . ago ( expected_start )
20
20
21
21
@due_date = @match_date = match_or_due_date
22
22
@leave_type = leave_type
23
- @expected_week = @matched_week = expected_start .. expected_start + 6 . days
23
+ @expected_week = @matched_week = expected_start .. expected_start + 6 . days
24
24
@notice_of_leave_deadline = next_saturday ( qualifying_start )
25
- @qualifying_week = qualifying_start .. qualifying_start + 6 . days
25
+ @qualifying_week = qualifying_start .. qualifying_start + 6 . days
26
26
@employment_start = 25 . weeks . ago ( @qualifying_week . last )
27
27
@a_employment_start = 25 . weeks . ago ( @matched_week . last )
28
28
@leave_earliest_start_date = 11 . weeks . ago ( @expected_week . first )
@@ -206,7 +206,7 @@ def paydates_weekly
206
206
def paydates_weekly_starting
207
207
[ ] . tap do |ary |
208
208
pay_start_date . step ( pay_end_date ) do |d |
209
- ary << d if d . wday == ( pay_start_date - 1 ) . wday and d > pay_start_date
209
+ ary << d if d . wday == ( pay_start_date - 1 ) . wday && d > pay_start_date
210
210
end
211
211
end
212
212
end
@@ -217,7 +217,7 @@ def paydates_a_certain_week_day_each_month
217
217
weekdays = weekdays_for_month ( date , pay_day_in_week )
218
218
ary << weekdays . send ( pay_week_in_month )
219
219
end
220
- if ary . last and ary . last < pay_end_date
220
+ if ary . last && ary . last < pay_end_date
221
221
weekdays = weekdays_for_month ( 1 . month . since ( pay_end_date ) , pay_day_in_week )
222
222
ary << weekdays . send ( pay_week_in_month )
223
223
end
@@ -231,7 +231,7 @@ def statutory_rate(date)
231
231
{ min : uprating_date ( 2014 ) , max : uprating_date ( 2015 ) , amount : 138.18 } ,
232
232
{ min : uprating_date ( 2014 ) , max : uprating_date ( 2100 ) , amount : 139.58 } ### Change year in future
233
233
]
234
- rate = rates . find { |r | r [ :min ] <= date and date < r [ :max ] } || rates . last
234
+ rate = rates . find { |r | r [ :min ] <= date && date < r [ :max ] } || rates . last
235
235
rate [ :amount ]
236
236
end
237
237
@@ -256,7 +256,7 @@ def months_between_dates(start_date, end_date)
256
256
end
257
257
258
258
def within_pay_date_range? ( day )
259
- pay_start_date <= day and day <= pay_end_date
259
+ pay_start_date <= day && day <= pay_end_date
260
260
end
261
261
262
262
def rate_changes? ( week )
@@ -266,7 +266,7 @@ def rate_changes?(week)
266
266
def pay_for_period ( start_date , end_date )
267
267
pay = 0.0
268
268
( start_date ..end_date ) . each_slice ( 7 ) do |week |
269
- if week . size < 7 or !within_pay_date_range? ( week . last ) or rate_changes? ( week )
269
+ if week . size < 7 || !within_pay_date_range? ( week . last ) || rate_changes? ( week )
270
270
# When calculating a partial SMP pay week divide the weekly rate by 7
271
271
# truncating the result at 5 decimal places and increment the total pay
272
272
# for each day of the partial week
@@ -322,7 +322,7 @@ def first_sunday_in_month(month, year)
322
322
end
323
323
324
324
def uprating_date ( year )
325
- date = first_sunday_in_month ( 4 , year )
325
+ date = first_sunday_in_month ( 4 , year )
326
326
date += leave_start_date . wday if leave_start_date
327
327
date
328
328
end
0 commit comments