class Icalendar::Value
Attributes
ical_params[RW]
Public Class Methods
new(value, params = {})
click to toggle source
Calls superclass method
# File lib/icalendar/value.rb, line 10 def initialize(value, params = {}) @ical_params = Icalendar::DowncasedHash(params) super value end
value_type()
click to toggle source
# File lib/icalendar/value.rb, line 34 def self.value_type name.gsub(/\A.*::/, '').gsub(/(?<!\A)[A-Z]/, '-\0').upcase end
Public Instance Methods
ical_param(key, value)
click to toggle source
# File lib/icalendar/value.rb, line 15 def ical_param(key, value) @ical_params[key] = value end
params_ical()
click to toggle source
# File lib/icalendar/value.rb, line 28 def params_ical unless ical_params.empty? ";#{ical_params.map { |name, value| param_ical name, value }.join ';'}" end end
to_ical(default_type)
click to toggle source
# File lib/icalendar/value.rb, line 23 def to_ical(default_type) ical_param 'value', self.value_type if needs_value_type?(default_type) "#{params_ical}:#{value_ical}" end
value()
click to toggle source
# File lib/icalendar/value.rb, line 19 def value __getobj__ end
value_type()
click to toggle source
# File lib/icalendar/value.rb, line 38 def value_type self.class.value_type end
Private Instance Methods
escape_param_value(value)
click to toggle source
# File lib/icalendar/value.rb, line 57 def escape_param_value(value) v = value.gsub '"', "'" v =~ /[;:,]/ ? %Q("#{v}") : v end
needs_value_type?(default_type)
click to toggle source
# File lib/icalendar/value.rb, line 44 def needs_value_type?(default_type) self.class != default_type end
param_ical(name, param_value)
click to toggle source
# File lib/icalendar/value.rb, line 48 def param_ical(name, param_value) if param_value.is_a? Array param_value = param_value.map { |v| escape_param_value v }.join ',' else param_value = escape_param_value param_value end "#{name.to_s.gsub('_', '-').upcase}=#{param_value}" end