class Icalendar::Values::Array
Attributes
value_delimiter[R]
Public Class Methods
new(value, klass, params = {}, options = {})
click to toggle source
Calls superclass method
Icalendar::Value.new
# File lib/icalendar/values/array.rb, line 8 def initialize(value, klass, params = {}, options = {}) @value_delimiter = options[:delimiter] || ',' mapped = if value.is_a? ::Array value.map do |v| if v.is_a? Icalendar::Values::Array Icalendar::Values::Array.new v.value, klass, v.ical_params, delimiter: v.value_delimiter elsif v.is_a? ::Array Icalendar::Values::Array.new v, klass, params, delimiter: value_delimiter elsif v.is_a? Icalendar::Value v else klass.new v, params end end else [klass.new(value, params)] end super mapped, params end
Public Instance Methods
params_ical()
click to toggle source
Calls superclass method
Icalendar::Value#params_ical
# File lib/icalendar/values/array.rb, line 28 def params_ical value.each do |v| ical_params.merge! v.ical_params end super end
valid?()
click to toggle source
# File lib/icalendar/values/array.rb, line 41 def valid? klass = value.first.class !value.all? { |v| v.class == klass } end
value_ical()
click to toggle source
# File lib/icalendar/values/array.rb, line 35 def value_ical value.map do |v| v.value_ical end.join value_delimiter end
value_type()
click to toggle source
# File lib/icalendar/values/array.rb, line 46 def value_type value.first.value_type end
Private Instance Methods
needs_value_type?(default_type)
click to toggle source
# File lib/icalendar/values/array.rb, line 52 def needs_value_type?(default_type) value.first.class != default_type end