class Flexirest::HeadersList

Constants

STORE_MULTIPLE_VALUES

Public Class Methods

new() click to toggle source
# File lib/flexirest/headers_list.rb, line 5
def initialize
  @store = {}
end

Public Instance Methods

[](key) click to toggle source
# File lib/flexirest/headers_list.rb, line 19
def [](key)
  key = find_existing(key)
  @store[key]
end
[]=(key,value) click to toggle source
# File lib/flexirest/headers_list.rb, line 9
def []=(key,value)
  key = find_existing(key)
  if STORE_MULTIPLE_VALUES.include?(key.downcase)
    @store[key] ||= []
    @store[key] << value
  else
    @store[key] = value
  end
end
delete(key) click to toggle source
# File lib/flexirest/headers_list.rb, line 37
def delete(key)
  key = find_existing(key)
  @store.delete(key)
end
each(split_multiple_headers = false) { |key, inner_value| ... } click to toggle source
# File lib/flexirest/headers_list.rb, line 24
def each(split_multiple_headers = false)
  @store.keys.each do |key|
    value = @store[key]
    if value.is_a?(Array) && split_multiple_headers
      value.each do |inner_value|
        yield(key, inner_value)
      end
    else
      yield(key, value)
    end
  end
end
keys() click to toggle source
# File lib/flexirest/headers_list.rb, line 42
def keys
  @store.keys
end

Private Instance Methods

find_existing(key) click to toggle source
# File lib/flexirest/headers_list.rb, line 48
def find_existing(key)
  key_downcase = key.downcase
  @store.keys.each do |found_key|
    return found_key if found_key.downcase == key_downcase
  end
  key
end