class TimePricing::Config

Attributes

cache[RW]
combine_plans[RW]
plans[RW]

Public Class Methods

new(**args) click to toggle source
# File lib/time_pricing/config.rb, line 5
def initialize(**args)
  @combine_plans = args[:combine_plans] || args[:combine_plans] == nil

  @plans = {}

  if args[:cache].is_a?(Hash)
    @cache = args[:cache]
  else
    @cache = {}
  end
end

Public Instance Methods

add_plan!(**args) click to toggle source
# File lib/time_pricing/config.rb, line 21
def add_plan!(**args)
  plan = Plan.new(args)

  # clear cache as plans change
  clear_cache!

  @plans[plan.name] = plan
end
clear_cache!() click to toggle source
# File lib/time_pricing/config.rb, line 17
def clear_cache!
  @cache = {}
end
combine_plans?() click to toggle source
# File lib/time_pricing/config.rb, line 36
def combine_plans?
  @combine_plans
end
remove_plan!(name) click to toggle source
# File lib/time_pricing/config.rb, line 30
def remove_plan!(name)
  # clear cache as plans change
  clear_cache!
  @plans.delete(name)
end