Class: EWS::Builder
- Inherits:
-
Object
- Object
- EWS::Builder
- Extended by:
- Forwardable
- Defined in:
- lib/ews/builder.rb
Overview
AdditionalProperties BaseShape
BodyType IncludeMimeContent
Instance Method Summary collapse
- #attachment_ids!(attachment_ids) ⇒ Object
-
#folder_id!(container_node, folder_id, opts = {}) ⇒ Object
DistinguishedFolderId is created otherwise FolderId is used.
- #folder_id_container!(container_node_name, folder_ids) ⇒ Object
- #id_container!(container_node_name, ids) ⇒ Object
- #id_node!(container_node, id_node_name, id, opts = {}) ⇒ Object
-
#initialize(action_node, opts, &block) ⇒ Builder
constructor
A new instance of Builder.
-
#item_id!(container_node, item_id, opts = {}) ⇒ Object
ItemId.
- #item_id_container!(container_node_name, item_ids) ⇒ Object
- #traversal! ⇒ Object
Constructor Details
#initialize(action_node, opts, &block) ⇒ Builder
Returns a new instance of Builder.
24 25 26 27 28 29 |
# File 'lib/ews/builder.rb', line 24 def initialize(action_node, opts, &block) @action_node, @opts = action_node, opts @resolve_names_builder = ResolveNamesBuilder.new(action_node) @shape_builder = ShapeBuilder.new(action_node, opts) instance_eval(&block) if block_given? end |
Instance Method Details
#attachment_ids!(attachment_ids) ⇒ Object
43 44 45 46 47 |
# File 'lib/ews/builder.rb', line 43 def () id_container!('tns:AttachmentIds', ) do |container_node, id| id_node! container_node, 't:AttachmentId', id end end |
#folder_id!(container_node, folder_id, opts = {}) ⇒ Object
DistinguishedFolderId is created otherwise FolderId is used
DistinguishedFolderId
FolderId
78 79 80 81 82 83 84 85 |
# File 'lib/ews/builder.rb', line 78 def folder_id!(container_node, folder_id, opts = {}) node_name = if DistinguishedFolders.include?(folder_id) 't:DistinguishedFolderId' else 't:FolderId' end id_node! container_node, node_name, folder_id, opts end |
#folder_id_container!(container_node_name, folder_ids) ⇒ Object
37 38 39 40 41 |
# File 'lib/ews/builder.rb', line 37 def folder_id_container!(container_node_name, folder_ids) id_container!(container_node_name, folder_ids) do |container_node, id| folder_id! container_node, id, @opts end end |
#id_container!(container_node_name, ids) ⇒ Object
49 50 51 52 53 |
# File 'lib/ews/builder.rb', line 49 def id_container!(container_node_name, ids) @action_node.add(container_node_name) do |container_node| Array(ids).each {|id| yield container_node, id } end end |
#id_node!(container_node, id_node_name, id, opts = {}) ⇒ Object
88 89 90 91 92 93 |
# File 'lib/ews/builder.rb', line 88 def id_node!(container_node, id_node_name, id, opts = {}) container_node.add(id_node_name) do |id_node| id_node.set_attr 'Id', id id_node.set_attr 'ChangeKey', opts[:change_key] if opts[:change_key] end end |
#item_id!(container_node, item_id, opts = {}) ⇒ Object
ItemId
61 62 63 |
# File 'lib/ews/builder.rb', line 61 def item_id!(container_node, item_id, opts = {}) id_node! container_node, 't:ItemId', item_id, opts end |
#item_id_container!(container_node_name, item_ids) ⇒ Object
31 32 33 34 35 |
# File 'lib/ews/builder.rb', line 31 def item_id_container!(container_node_name, item_ids) id_container!(container_node_name, item_ids) do |container_node, id| item_id! container_node, id, @opts end end |
#traversal! ⇒ Object
55 56 57 |
# File 'lib/ews/builder.rb', line 55 def traversal! @action_node.set_attr 'Traversal', (@opts[:traversal] || :Shallow) end |