class Icalendar::Values::UtcOffset
Constants
- PARSE_FIELDS_MD_REGEX
- PARSE_FIELDS_WHITESPACE_GSUB_REGEX
Public Class Methods
new(value, params = {})
click to toggle source
Calls superclass method
Icalendar::Value::new
# File lib/icalendar/values/utc_offset.rb, line 8 def initialize(value, params = {}) if value.is_a? Icalendar::Values::UtcOffset value = value.value else value = OpenStruct.new parse_fields(value) end super value, params end
Public Instance Methods
behind?()
click to toggle source
# File lib/icalendar/values/utc_offset.rb, line 17 def behind? return false if zero_offset? value.behind end
to_s()
click to toggle source
# File lib/icalendar/values/utc_offset.rb, line 26 def to_s str = "#{behind? ? '-' : '+'}#{'%02d' % hours}:#{'%02d' % minutes}" if seconds > 0 "#{str}:#{'%02d' % seconds}" else str end end
value_ical()
click to toggle source
# File lib/icalendar/values/utc_offset.rb, line 22 def value_ical "#{behind? ? '-' : '+'}#{'%02d' % hours}#{'%02d' % minutes}#{'%02d' % seconds if seconds > 0}" end
Private Instance Methods
parse_fields(value)
click to toggle source
# File lib/icalendar/values/utc_offset.rb, line 44 def parse_fields(value) md = PARSE_FIELDS_MD_REGEX.match value.gsub(PARSE_FIELDS_WHITESPACE_GSUB_REGEX, '') { behind: (md[:behind] == '-'), hours: md[:hours].to_i, minutes: md[:minutes].to_i, seconds: md[:seconds].to_i } end
zero_offset?()
click to toggle source
# File lib/icalendar/values/utc_offset.rb, line 37 def zero_offset? hours == 0 && minutes == 0 && seconds == 0 end