22 lines
463 B
Ruby
22 lines
463 B
Ruby
module Github
|
|
class Response
|
|
attr_reader :headers, :body, :status
|
|
|
|
def initialize(headers, body, status)
|
|
@headers = headers
|
|
@body = Oj.load(body, class_cache: false, mode: :compat)
|
|
@status = status
|
|
end
|
|
|
|
def rels
|
|
links = headers['Link'].to_s.split(', ').map do |link|
|
|
href, name = link.match(/<(.*?)>; rel="(\w+)"/).captures
|
|
|
|
[name.to_sym, href]
|
|
end
|
|
|
|
Hash[*links.flatten]
|
|
end
|
|
end
|
|
end
|