Module: Punchblock::HasHeaders

Instance Method Summary collapse

Instance Method Details

#headersArray[Header]

Returns headers.

Returns:



16
17
18
19
20
# File 'lib/punchblock/has_headers.rb', line 16

def headers
  find('//ns:header', :ns => self.class.registered_ns).map do |i|
    Header.new i
  end
end

#headers=(headers) ⇒ Object

Parameters:

  • headers (Hash, Array)

    A hash of key-value header pairs, or an array of Header objects



25
26
27
28
29
30
31
32
# File 'lib/punchblock/has_headers.rb', line 25

def headers=(headers)
  find('//ns:header', :ns => self.class.registered_ns).each &:remove
  if headers.is_a? Hash
    headers.each_pair { |k,v| self << Header.new(k, v) }
  elsif headers.is_a? Array
    [headers].flatten.each { |i| self << Header.new(i) }
  end
end

#headers_hashHash

Returns hash of key-value pairs of headers.

Returns:

  • (Hash)

    hash of key-value pairs of headers



6
7
8
9
10
11
# File 'lib/punchblock/has_headers.rb', line 6

def headers_hash
  headers.inject({}) do |hash, header|
    hash[header.name] = header.value
    hash
  end
end

#inspect_attributesObject

:nodoc:



34
35
36
# File 'lib/punchblock/has_headers.rb', line 34

def inspect_attributes # :nodoc:
  [:headers_hash] + super
end