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
-
#headers ⇒ Array[Header]
Headers.
- #headers=(headers) ⇒ Object
-
#headers_hash ⇒ Hash
Hash of key-value pairs of headers.
-
#inspect_attributes ⇒ Object
:nodoc:.
Instance Method Details
#headers ⇒ Array[Header]
Returns headers.
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
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_hash ⇒ Hash
Returns 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_attributes ⇒ Object
:nodoc:
36 37 38 |
# File 'lib/punchblock/has_headers.rb', line 36 def inspect_attributes # :nodoc: [:headers_hash] + super end |