blob: 761c524b553dd6789b9c3449f7af09d4292e24f3 (
plain)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 | module Github
  class Response
    attr_reader :raw, :headers, :status
    def initialize(response)
      @raw     = response
      @headers = response.headers
      @status  = response.status
    end
    def body
      Oj.load(raw.body, class_cache: false, mode: :compat)
    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
 |