Module: Punchblock::HasHeaders

Instance Method Summary collapse

Instance Method Details

#headersArray[Header]

Returns headers.

Returns:



18
19
20
21
22
# File 'lib/punchblock/has_headers.rb', line 18

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



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

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



8
9
10
11
12
13
# File 'lib/punchblock/has_headers.rb', line 8

def headers_hash
  headers.inject({}) do |hash, header|
    hash[header.name.downcase.gsub('-', '_').to_sym] = header.value
    hash
  end
end

#inspect_attributesObject

:nodoc:



36
37
38
# File 'lib/punchblock/has_headers.rb', line 36

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