class IceCube::IcalBuilder
Constants
- ICAL_DAYS
Public Class Methods
Source
# File lib/ice_cube/builders/ical_builder.rb, line 9 def self.fixnum_to_ical_day(num) ICAL_DAYS[num] end
Source
# File lib/ice_cube/builders/ical_builder.rb, line 45 def self.ical_duration(duration) hours = duration / 3600 duration %= 3600 minutes = duration / 60 duration %= 60 repr = "" repr << "#{hours}H" if hours > 0 repr << "#{minutes}M" if minutes > 0 repr << "#{duration}S" if duration > 0 "PT#{repr}" end
Source
# File lib/ice_cube/builders/ical_builder.rb, line 36 def self.ical_format(time, force_utc) time = time.dup.utc if force_utc if time.utc? ":#{IceCube::I18n.l(time, format: "%Y%m%dT%H%M%SZ")}" # utc time else ";TZID=#{IceCube::I18n.l(time, format: "%Z:%Y%m%dT%H%M%S")}" # local time specified end end
Source
# File lib/ice_cube/builders/ical_builder.rb, line 31 def self.ical_utc_format(time) time = time.dup.utc IceCube::I18n.l(time, format: "%Y%m%dT%H%M%SZ") # utc time end
Public Instance Methods
Source
# File lib/ice_cube/builders/ical_builder.rb, line 13 def [](key) @hash[key] ||= [] end
Source
# File lib/ice_cube/builders/ical_builder.rb, line 18 def to_s arr = [] if (freq = @hash.delete("FREQ")) arr << "FREQ=#{freq.join(",")}" end arr.concat(@hash.map do |key, value| if value.is_a?(Array) "#{key}=#{value.join(",")}" end end.compact) arr.join(";") end
Build for a single rule entry