lib/pacing/pacer.rb in pacing-2.0.0 vs lib/pacing/pacer.rb in pacing-2.1.0
- old
+ new
@@ -2,17 +2,18 @@
require 'holidays'
module Pacing
class Pacer
COMMON_YEAR_DAYS_IN_MONTH = [nil, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
- attr_reader :school_plan, :date, :non_business_days, :state, :mode, :interval, :summer_holidays
+ attr_reader :school_plan, :date, :non_business_days, :state, :mode, :interval, :summer_holidays, :show_frequency
- def initialize(school_plan:, date:, non_business_days:, state: :us_tn, mode: :liberal, summer_holidays: [])
+ def initialize(school_plan:, date:, non_business_days:, state: :us_tn, mode: :liberal, summer_holidays: [], show_frequency: false)
@school_plan = school_plan
@non_business_days = non_business_days
@date = date
@state = state
+ @show_frequency = show_frequency
@mode = [:strict, :liberal].include?(mode) ? mode : :liberal
Pacing::Error.new(school_plan: school_plan, date: date, non_business_days: non_business_days, state: state, mode: mode, summer_holidays: summer_holidays)
@summer_holidays = summer_holidays.empty? ? parse_summer_holiday_dates : [parse_date(summer_holidays[0]), parse_date(summer_holidays[1])]
@@ -84,15 +85,24 @@
discipline[:discipline] = service[:type_of_service]
discipline[:pace_indicator] = pace_indicator(discipline[:pace])
discipline[:pace_suggestion] = readable_suggestion(rate: discipline[:suggested_rate])
+ if show_frequency
+ discipline[:frequency] = discipline_frequency(service)
+ end
+
discipline.delete(:suggested_rate)
discipline
end
services
+ end
+
+ # discipline iep frequency
+ def discipline_frequency(service)
+ service[:frequency].to_s + service[:interval][0].gsub(/(per)|p/i, "").strip.upcase + "x" + service[:time_per_session_in_minutes].to_s + service[:type_of_service][0].upcase + "T"
end
# get a spreadout of visit dates over an interval by using simple proportion.
def expected_visits(start_date:, end_date:, frequency:, interval:)
reset_start = start_of_treatment_date(start_date, interval)