Class: Calendav::Parsers::CalendarXML

Inherits:
Object
  • Object
show all
Defined in:
lib/calendav/parsers/calendar_xml.rb

Constant Summary collapse

XPATHS =
{
  display_name: ".//dav:displayname",
  description: ".//caldav:calendar-description",
  ctag: ".//cs:getctag",
  etag: ".//dav:getetag",
  time_zone: ".//caldav:calendar-timezone",
  color: ".//apple:calendar-color",
  sync_token: ".//dav:sync-token"
}.freeze

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(element) ⇒ CalendarXML

Returns a new instance of CalendarXML.



20
21
22
# File 'lib/calendav/parsers/calendar_xml.rb', line 20

def initialize(element)
  @element = element
end

Class Method Details

.callObject



16
17
18
# File 'lib/calendav/parsers/calendar_xml.rb', line 16

def self.call(...)
  new(...).call
end

Instance Method Details

#callObject



24
25
26
27
28
# File 'lib/calendav/parsers/calendar_xml.rb', line 24

def call
  XPATHS
    .transform_values { |xpath| value(xpath) }
    .merge(components: components, reports: reports)
end