class Vobject::Vcalendar::PropertyValue::Recur
Public Class Methods
new(val)
click to toggle source
# File lib/vobject/vcalendar/propertyvalue.rb, line 541 def initialize(val) self.value = val self.type = "recur" end
Public Instance Methods
to_hash()
click to toggle source
# File lib/vobject/vcalendar/propertyvalue.rb, line 554 def to_hash ret = {} value.each do |k, v| ret[k] = if v.respond_to?(:to_hash) v.to_hash else v end end ret end
to_s()
click to toggle source
# File lib/vobject/vcalendar/propertyvalue.rb, line 546 def to_s ret = [] value.each do |k, v| ret << "#{k.to_s.upcase}=#{valencode(k, v)}" end ret.join(";") end
Private Instance Methods
valencode(k, v)
click to toggle source
# File lib/vobject/vcalendar/propertyvalue.rb, line 568 def valencode(k, v) case k when :bysetpos, :byyearday v.map do |x| ret = x[:ordyrday] ret = x[:sign] + ret if x[:sign] ret end.join(",") when :byweekno v.map do |x| ret = x[:ordwk] ret = x[:sign] + ret if x[:sign] ret end.join(",") when :bymonthday v.map do |x| ret = x[:ordmoday] ret = x[:sign] + ret if x[:sign] ret end.join(",") when :byday v.map do |x| ret = x[:weekday] ret = x[:ordwk] + ret if x[:ordwk] ret = x[:sign] + ret if x[:sign] ret end.join(",") when :bymonth, :byhour, :byminute, :bysecond v.join(",") when :enddate v.to_s else v end end