class IceCube::Validations::YearlyInterval::Validation
Attributes
interval[R]
Public Class Methods
new(interval)
click to toggle source
# File lib/ice_cube/validations/yearly_interval.rb, line 16 def initialize(interval) @interval = interval end
Public Instance Methods
build_hash(builder)
click to toggle source
# File lib/ice_cube/validations/yearly_interval.rb, line 38 def build_hash(builder) builder[:interval] = interval end
build_ical(builder)
click to toggle source
# File lib/ice_cube/validations/yearly_interval.rb, line 42 def build_ical(builder) builder['FREQ'] << 'YEARLY' unless interval == 1 builder['INTERVAL'] << interval end end
build_s(builder)
click to toggle source
# File lib/ice_cube/validations/yearly_interval.rb, line 34 def build_s(builder) builder.base = IceCube::I18n.t('ice_cube.each_year', count: interval) end
dst_adjust?()
click to toggle source
# File lib/ice_cube/validations/yearly_interval.rb, line 24 def dst_adjust? true end
type()
click to toggle source
# File lib/ice_cube/validations/yearly_interval.rb, line 20 def type :year end
validate(step_time, start_time)
click to toggle source
# File lib/ice_cube/validations/yearly_interval.rb, line 28 def validate(step_time, start_time) years = step_time.year - start_time.year offset = (years % interval).nonzero? interval - offset if offset end