Module: Punchblock::HasHeaders

Included in:
Command::Accept, Command::Answer, Command::Dial, Command::Hangup, Command::Redirect, Command::Reject, Event::Answered, Event::End, Event::Offer, Event::Ringing
Defined in:
lib/punchblock/has_headers.rb

Instance Method Summary (collapse)

Instance Method Details

- (Array[Header]) headers

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

- (Object) headers=(headers)

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

- (Hash) headers_hash

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] = header.value
    hash
  end
end

- (Object) inspect_attributes

:nodoc:



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

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