Class: IceCube::MinuteOfHourValidation
Constant Summary
Constants inherited
from Validation
Validation::NUMBER_SUFFIX, Validation::SPECIAL_SUFFIX
Instance Method Summary
collapse
Methods inherited from Validation
adjust, nice_numbers, sentence
Constructor Details
Returns a new instance of MinuteOfHourValidation.
5
6
7
|
# File 'lib/ice_cube/validations/minute_of_hour.rb', line 5
def initialize(rule)
@minutes_of_hour = rule.validations[:minute_of_hour]
end
|
Instance Method Details
#closest(date) ⇒ Object
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/ice_cube/validations/minute_of_hour.rb', line 14
def closest(date)
return nil if !@minutes_of_hour || @minutes_of_hour.empty?
minutes = @minutes_of_hour.map do |m|
m > date.min ? m - date.min : 60 - date.min + m
end
minutes.compact!
closest_minute = minutes.min
goal = date + closest_minute * IceCube::ONE_MINUTE
self.class.adjust(goal, date)
end
|
#to_ical ⇒ Object
32
33
34
|
# File 'lib/ice_cube/validations/minute_of_hour.rb', line 32
def to_ical
'BYMINUTE=' << @minutes_of_hour.join(',') unless @minutes_of_hour.empty?
end
|
#to_s ⇒ Object
28
29
30
|
# File 'lib/ice_cube/validations/minute_of_hour.rb', line 28
def to_s
'on the ' << self.class.nice_numbers(@minutes_of_hour) << (@minutes_of_hour.size == 1 ? ' minute' : ' minutes') << ' of the hour' unless @minutes_of_hour.empty?
end
|
#validate(date) ⇒ Object
9
10
11
12
|
# File 'lib/ice_cube/validations/minute_of_hour.rb', line 9
def validate(date)
return true if !@minutes_of_hour || @minutes_of_hour.empty?
@minutes_of_hour.include?(date.min)
end
|