Class: Tilia::VObject::Property::ICalendar::Duration
- Inherits:
-
Tilia::VObject::Property
- Object
- Node
- Tilia::VObject::Property
- Tilia::VObject::Property::ICalendar::Duration
- Defined in:
- lib/tilia/v_object/property/i_calendar/duration.rb
Overview
Duration property.
This object represents DURATION values, as defined here:
Constant Summary
Constants inherited from Node
Node::PROFILE_CALDAV, Node::PROFILE_CARDDAV, Node::REPAIR
Instance Attribute Summary collapse
-
#delimiter ⇒ String?
In case this is a multi-value property.
Attributes inherited from Tilia::VObject::Property
#group, #name, #parameters, #value
Attributes inherited from Node
Instance Method Summary collapse
-
#date_interval ⇒ \DateInterval
Returns a DateInterval representation of the Duration property.
-
#initialize(*args) ⇒ Duration
constructor
A new instance of Duration.
-
#raw_mime_dir_value ⇒ String
Returns a raw mime-dir representation of the value.
-
#raw_mime_dir_value=(val) ⇒ void
Sets a raw value coming from a mimedir (iCalendar/vCard) file.
-
#value_type ⇒ String
Returns the type of value.
Methods inherited from Tilia::VObject::Property
#==, #[], #[]=, #add, #delete, #destroy, #initialize_copy, #json_serialize, #json_value, #json_value=, #key?, #parts, #parts=, #serialize, #to_s, #validate, #xml_serialize, #xml_value=
Methods inherited from Node
#==, #[], #[]=, #delete, #destroy, #each, #json_serialize, #key?, #serialize, #size, #validate, #xml_serialize
Constructor Details
#initialize(*args) ⇒ Duration
Returns a new instance of Duration.
57 58 59 60 |
# File 'lib/tilia/v_object/property/i_calendar/duration.rb', line 57 def initialize(*args) super(*args) @delimiter = ',' end |
Instance Attribute Details
#delimiter ⇒ String?
In case this is a multi-value property. This string will be used as a delimiter.
15 16 17 |
# File 'lib/tilia/v_object/property/i_calendar/duration.rb', line 15 def delimiter @delimiter end |
Instance Method Details
#date_interval ⇒ \DateInterval
Returns a DateInterval representation of the Duration property.
If the property has more than one value, only the first is returned.
51 52 53 54 55 |
# File 'lib/tilia/v_object/property/i_calendar/duration.rb', line 51 def date_interval parts = self.parts value = parts[0] DateTimeParser.parse_duration(value) end |
#raw_mime_dir_value ⇒ String
Returns a raw mime-dir representation of the value.
32 33 34 |
# File 'lib/tilia/v_object/property/i_calendar/duration.rb', line 32 def raw_mime_dir_value parts.join(@delimiter) end |
#raw_mime_dir_value=(val) ⇒ void
This method returns an undefined value.
Sets a raw value coming from a mimedir (iCalendar/vCard) file.
This has been ‘unfolded’, so only 1 line will be passed. Unescaping is not yet done, but parameters are not included.
25 26 27 |
# File 'lib/tilia/v_object/property/i_calendar/duration.rb', line 25 def raw_mime_dir_value=(val) self.value = val.split(@delimiter) end |
#value_type ⇒ String
Returns the type of value.
This corresponds to the VALUE= parameter. Every property also has a ‘default’ valueType.
42 43 44 |
# File 'lib/tilia/v_object/property/i_calendar/duration.rb', line 42 def value_type 'DURATION' end |