Class: HTTP::LinkHeaders

Inherits:
Object
  • Object
show all
Defined in:
lib/httpclient_link_header.rb

Constant Summary collapse

PARAM_REG =
/(\w+)=['"](\w+)['"]/
/<(.+)>((?:; \w+=['"]\w+['"])*)/

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(parsed_headers) ⇒ LinkHeaders

Returns a new instance of LinkHeaders.



21
22
23
# File 'lib/httpclient_link_header.rb', line 21

def initialize(parsed_headers)
  @parsed_headers = parsed_headers
end

Class Method Details

.generate(links) ⇒ Object



14
15
16
17
18
19
# File 'lib/httpclient_link_header.rb', line 14

def self.generate(links)
  links.map do |link|
    params = (link['params'] || []).map { |key, value| "; #{key}=\"#{value}\"" }.join
    "<#{link['uri']}>#{params}"
  end
end

.parse(link_headers) ⇒ Object



8
9
10
11
12
# File 'lib/httpclient_link_header.rb', line 8

def self.parse(link_headers)
  unless link_headers.empty?
    new(parse_link_headers(link_headers))
  end
end

Instance Method Details

#by(param) ⇒ Object



25
26
27
# File 'lib/httpclient_link_header.rb', line 25

def by(param)
  index_by(param, @parsed_headers)
end