Sha256: 27e4e3910c513cf54609fb39416c54b0d41152df2cbca63f1f0a41173015ab42
Contents?: true
Size: 890 Bytes
Versions: 42
Compression:
Stored size: 890 Bytes
Contents
module Phrase class Response attr_reader :data def initialize(data, headers) @data = data @paginated = false @next_page = nil link_headers = headers["link"] if link_headers @paginated = true parsed_links = LinkHeaderParser.parse(link_headers, base: 'https://api.phrase.com').group_by_relation_type next_page_link = parsed_links[:next]&.first if next_page_link @next_page = CGI.parse(URI.parse(next_page_link.target_uri).query)["page"]&.first&.to_i end end end def method_missing(method, *args, &block) if data.respond_to?(method) data.send(method, *args, &block) else super end end def next_page @next_page end def next_page? paginated? && !next_page.nil? end def paginated? @paginated end end end
Version data entries
42 entries across 42 versions & 1 rubygems