class Calendav::Requests::ListCalendars

Constants

PROPERTIES

Attributes

attributes[R]

Public Class Methods

call(...) click to toggle source
# File lib/calendav/requests/list_calendars.rb, line 25
def self.call(...)
  new(...).call
end
new(attributes) click to toggle source
# File lib/calendav/requests/list_calendars.rb, line 29
def initialize(attributes)
  @attributes = attributes
end

Public Instance Methods

call() click to toggle source
# File lib/calendav/requests/list_calendars.rb, line 33
def call
  Nokogiri::XML::Builder.new do |xml|
    xml["dav"].propfind(NAMESPACES) do
      xml["dav"].prop do
        properties.each do |hash|
          xml[hash[:namespace]].public_send(hash[:name].to_sym)
        end
      end
    end
  end
end

Private Instance Methods

properties() click to toggle source
# File lib/calendav/requests/list_calendars.rb, line 49
def properties
  PROPERTIES.select { |hash| attributes.include?(hash[:key]) }
end