Class: Trav3::Headers
- Inherits:
-
Object
- Object
- Trav3::Headers
- Extended by:
- Forwardable
- Defined in:
- lib/trav3/headers.rb
Overview
A header builder class for outgoing requests
Instance Method Summary collapse
-
#+(other) ⇒ Headers
Add the values of one
Headers
into another. -
#build(args = {}) ⇒ Headers
Add or update the request headers.
-
#each_pair ⇒ Object
Forwards to :@heads.
-
#fetch ⇒ Object
Forwards to :@heads.
-
#initialize(args = {}) ⇒ Headers
constructor
A new instance of Headers.
-
#remove(key) ⇒ String, ...
Remove key/value from headers via key.
-
#to_h ⇒ Hash
Hash of the
Headers
.
Constructor Details
#initialize(args = {}) ⇒ Headers
Returns a new instance of Headers
18 19 20 |
# File 'lib/trav3/headers.rb', line 18 def initialize(args = {}) build(args) end |
Instance Method Details
#+(other) ⇒ Headers
Add the values of one Headers
into another
47 48 49 50 51 52 53 |
# File 'lib/trav3/headers.rb', line 47 def +(other) raise TypeError, "Headers type expected, #{other.class} given" unless other.is_a? Headers @heads.merge(other.instance_variable_get(:@heads)) self end |
#build(args = {}) ⇒ Headers
Add or update the request headers
25 26 27 28 29 30 31 32 33 |
# File 'lib/trav3/headers.rb', line 25 def build(args = {}) @heads ||= {} args.each do |(key, value)| @heads[key] = value end self end |
#each_pair ⇒ Object
Forwards to :@heads.
16 |
# File 'lib/trav3/headers.rb', line 16 def_delegators :@heads, :each_pair, :fetch |
#fetch ⇒ Object
Forwards to :@heads.
16 |
# File 'lib/trav3/headers.rb', line 16 def_delegators :@heads, :each_pair, :fetch |
#remove(key) ⇒ String, ...
Remove key/value from headers via key
39 40 41 |
# File 'lib/trav3/headers.rb', line 39 def remove(key) @heads.delete(key) end |
#to_h ⇒ Hash
Returns hash of the Headers
56 57 58 |
# File 'lib/trav3/headers.rb', line 56 def to_h @heads end |