Class: Exchanger::FindFolder::Request

Inherits:
Operation::Request show all
Defined in:
lib/exchanger/operations/find_folder.rb

Instance Attribute Summary collapse

Attributes inherited from Operation::Request

#body, #response

Instance Method Summary collapse

Methods inherited from Operation::Request

#action, #headers, #initialize

Constructor Details

This class inherits a constructor from Exchanger::Operation::Request

Instance Attribute Details

#base_shapeObject

Returns the value of attribute base_shape.



8
9
10
# File 'lib/exchanger/operations/find_folder.rb', line 8

def base_shape
  @base_shape
end

#email_addressObject

Returns the value of attribute email_address.



8
9
10
# File 'lib/exchanger/operations/find_folder.rb', line 8

def email_address
  @email_address
end

#parent_folder_idObject

Returns the value of attribute parent_folder_id.



8
9
10
# File 'lib/exchanger/operations/find_folder.rb', line 8

def parent_folder_id
  @parent_folder_id
end

#traversalObject

Returns the value of attribute traversal.



8
9
10
# File 'lib/exchanger/operations/find_folder.rb', line 8

def traversal
  @traversal
end

Instance Method Details

#resetObject

Reset request options to defaults.



11
12
13
14
15
16
# File 'lib/exchanger/operations/find_folder.rb', line 11

def reset
  @parent_folder_id = nil
  @traversal = :shallow
  @base_shape = :all_properties
  @email_address = nil
end

#to_xmlObject



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/exchanger/operations/find_folder.rb', line 18

def to_xml
  Nokogiri::XML::Builder.new do |xml|
    xml.send("soap:Envelope", "xmlns:soap" => NS["soap"]) do
      xml.send("soap:Body") do
        xml.FindFolder("xmlns" => NS["m"], "xmlns:t" => NS["t"], "Traversal" => traversal.to_s.camelize) do
          xml.FolderShape do
            xml.send "t:BaseShape", base_shape.to_s.camelize
          end
          xml.ParentFolderIds do
            if parent_folder_id.is_a?(Symbol)
              xml.send("t:DistinguishedFolderId", "Id" => parent_folder_id) do
                if email_address
                  xml.send("t:Mailbox") do
                    xml.send("t:EmailAddress", email_address)
                  end
                end
              end
            else
              xml.send("t:FolderId", "Id" => parent_folder_id)
            end
          end
        end
      end
    end
  end
end