Class: Fetch::Headers

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Includes:
Enumerable
Defined in:
lib/fetch/headers.rb

Instance Method Summary collapse

Constructor Details

#initialize(init = []) ⇒ Headers

Returns a new instance of Headers.



11
12
13
14
15
16
17
# File 'lib/fetch/headers.rb', line 11

def initialize(init = [])
  @data = {}

  init.each do |k, v|
    append k, v
  end
end

Instance Method Details

#append(key, value) ⇒ Object



19
20
21
# File 'lib/fetch/headers.rb', line 19

def append(key, value)
  (@data[key.to_s.downcase] ||= []) << value.to_s
end

#delete(key) ⇒ Object



23
24
25
# File 'lib/fetch/headers.rb', line 23

def delete(key)
  @data.delete key.to_s.downcase
end

#entriesObject



27
28
29
# File 'lib/fetch/headers.rb', line 27

def entries
  @data.map {|k, vs| [k, vs.join(', ')] }
end

#get(key) ⇒ Object



31
32
33
# File 'lib/fetch/headers.rb', line 31

def get(key)
  @data[key.to_s.downcase]&.join(', ')
end

#has(key) ⇒ Object



35
36
37
# File 'lib/fetch/headers.rb', line 35

def has(key)
  @data.key?(key.to_s.downcase)
end

#keysObject



39
40
41
# File 'lib/fetch/headers.rb', line 39

def keys
  @data.keys
end

#set(key, value) ⇒ Object



43
44
45
# File 'lib/fetch/headers.rb', line 43

def set(key, value)
  @data[key.to_s.downcase] = [value]
end

#valuesObject



47
48
49
# File 'lib/fetch/headers.rb', line 47

def values
  @data.values.map { _1.join(', ') }
end