class Mhc::PropertyValue::Period
Constants
- REGEXP
- UNIT2MIN
- UNITS
Public Class Methods
parse(string)
click to toggle source
# File lib/mhc/property_value/period.rb, line 9 def self.parse(string) return new.parse(string) end
Public Instance Methods
alarm_trigger()
click to toggle source
# File lib/mhc/property_value/period.rb, line 37 def alarm_trigger duration = nil if @alarm seconds = @alarm duration = "-P" duration += "#{seconds /= 86400}D" if seconds >= 86400 duration += "T#{seconds /= 3600}H" if seconds >= 3600 duration += "T#{seconds /= 60}M" if seconds >= 60 end return duration end
parse(string)
click to toggle source
# File lib/mhc/property_value/period.rb, line 13 def parse(string) if REGEXP =~ string @minutes = (UNIT2MIN[$2] * $1.to_i) else raise ParseError, "invalid period string \"#{string}\"" end return self end
to_mhc_string()
click to toggle source
# File lib/mhc/property_value/period.rb, line 22 def to_mhc_string return "" unless @minutes value, unit_size, unit_name = @minutes, 1, "minute" UNIT2MIN.each do |unit,minutes| if @minutes % minutes == 0 value = @minutes / minutes unit_size = minutes unit_name = unit end end return "#{value} #{unit_name}" + (value > 1 ? "s" : "") end