Class: Zimbra::A

Inherits:
Object
  • Object
show all
Defined in:
lib/zimbra/common_elements.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, value, extra_attributes = {}) ⇒ A

Returns a new instance of A.



25
26
27
28
29
# File 'lib/zimbra/common_elements.rb', line 25

def initialize(name, value, extra_attributes = {})
  self.name = name
  self.value = value
  self.extra_attributes = extra_attributes || {}
end

Instance Attribute Details

#extra_attributesObject

Returns the value of attribute extra_attributes.



23
24
25
# File 'lib/zimbra/common_elements.rb', line 23

def extra_attributes
  @extra_attributes
end

#nameObject

Returns the value of attribute name.



23
24
25
# File 'lib/zimbra/common_elements.rb', line 23

def name
  @name
end

#valueObject

Returns the value of attribute value.



23
24
25
# File 'lib/zimbra/common_elements.rb', line 23

def value
  @value
end

Class Method Details

.from_node(node, name) ⇒ Object



18
19
20
# File 'lib/zimbra/common_elements.rb', line 18

def from_node(node, name)
  new(name, node.to_s)
end

.inject(xmldoc, name, value, extra_attributes = {}) ⇒ Object



4
5
6
# File 'lib/zimbra/common_elements.rb', line 4

def inject(xmldoc, name, value, extra_attributes = {})
  new(name, value, extra_attributes).inject(xmldoc)
end

.read(xmldoc, name) ⇒ Object



8
9
10
11
12
13
14
15
16
# File 'lib/zimbra/common_elements.rb', line 8

def read(xmldoc, name)
  nodes = (xmldoc/"//n2:a[@n='#{name}']")
  return nil if nodes.nil?
  if nodes.size > 1
    nodes.map { |n| from_node(n, name).value }
  else
    from_node(nodes, name).value
  end
end

Instance Method Details

#inject(xmldoc) ⇒ Object



31
32
33
34
35
36
37
38
# File 'lib/zimbra/common_elements.rb', line 31

def inject(xmldoc)
  xmldoc.add 'a', value do |a|
    a.set_attr 'n', name
    extra_attributes.each do |eaname, eavalue|
      a.set_attr eaname, eavalue
    end
  end
end