Class: Vpim::Icalendar::Vevent::Maker
- Inherits:
-
Object
- Object
- Vpim::Icalendar::Vevent::Maker
- Includes:
- Set::Common, Set::Location, Set::Util
- Defined in:
- lib/vpim/vevent.rb
Overview
Make a new Vevent, or make changes to an existing Vevent.
Instance Attribute Summary collapse
-
#event ⇒ Object
readonly
The event that changes are being made to.
Class Method Summary collapse
-
.make(event = Vpim::Icalendar::Vevent.create) {|m| ... } ⇒ Object
Make changes to
event.
Instance Method Summary collapse
-
#add_rrule(rule = nil, &block) ⇒ Object
Add a RRULE to this event.
-
#dtend(dtend) ⇒ Object
Set end for events with fixed durations.
-
#initialize(event) ⇒ Maker
constructor
:nodoc:.
-
#set_rrule(rule = nil, &block) ⇒ Object
Set the RRULE for this event.
-
#transparency(token) ⇒ Object
Set transparency to “OPAQUE” or “TRANSPARENT”, see Vpim::Vevent#transparency.
Methods included from Set::Location
Methods included from Set::Common
#access_class, #add_attendee, #categories, #comment, #created, #description, #dtstamp, #dtstart, #lastmod, #organizer, #sequence, #summary, #uid, #url
Methods included from Set::Util
#add_address, #field_create, #rm_all, #set_address, #set_date_or_datetime, #set_datetime, #set_integer, #set_text, #set_text_list, #set_token
Constructor Details
#initialize(event) ⇒ Maker
:nodoc:
143 144 145 146 |
# File 'lib/vpim/vevent.rb', line 143 def initialize(event) #:nodoc: @event = event @comp = event end |
Instance Attribute Details
#event ⇒ Object (readonly)
The event that changes are being made to.
141 142 143 |
# File 'lib/vpim/vevent.rb', line 141 def event @event end |
Class Method Details
.make(event = Vpim::Icalendar::Vevent.create) {|m| ... } ⇒ Object
Make changes to event. If event is not specified, creates a new event. Yields a Vevent::Maker, and returns event.
150 151 152 153 154 |
# File 'lib/vpim/vevent.rb', line 150 def self.make(event = Vpim::Icalendar::Vevent.create) #:yield:maker m = self.new(event) yield m m.event end |
Instance Method Details
#add_rrule(rule = nil, &block) ⇒ Object
Add a RRULE to this event. The rule can be provided as a pre-build RRULE value, or the RRULE maker can be used.
168 169 170 171 172 173 174 175 |
# File 'lib/vpim/vevent.rb', line 168 def add_rrule(rule = nil, &block) #:yield: Rrule::Maker # TODO - should be in Property::Reccurrence::Set unless rule rule = Rrule::Maker.new(&block).encode end @comp.properties.push(Vpim::DirectoryInfo::Field.create("RRULE", rule)) self end |
#dtend(dtend) ⇒ Object
Set end for events with fixed durations. end can be a Date or Time
162 163 164 |
# File 'lib/vpim/vevent.rb', line 162 def dtend(dtend) set_date_or_datetime 'DTEND', 'DATE-TIME', dtend end |
#set_rrule(rule = nil, &block) ⇒ Object
Set the RRULE for this event. See #add_rrule
178 179 180 181 |
# File 'lib/vpim/vevent.rb', line 178 def set_rrule(rule = nil, &block) #:yield: Rrule::Maker rm_all("RRULE") add_rrule(rule, &block) end |
#transparency(token) ⇒ Object
Set transparency to “OPAQUE” or “TRANSPARENT”, see Vpim::Vevent#transparency.
157 158 159 |
# File 'lib/vpim/vevent.rb', line 157 def transparency(token) set_token 'TRANSP', ["OPAQUE", "TRANSPARENT"], "OPAQUE", token end |