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)