class Phrase::Response

Attributes

data[R]

Public Class Methods

new(data, headers) click to toggle source
# File lib/phrase/response.rb, line 5
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').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

Public Instance Methods

method_missing(method, *args, &block) click to toggle source
Calls superclass method
# File lib/phrase/response.rb, line 21
def method_missing(method, *args, &block)
  if data.respond_to?(method)
    data.send(method, *args, &block)
  else
    super
  end
end
next_page() click to toggle source
# File lib/phrase/response.rb, line 29
def next_page
  @next_page
end
next_page?() click to toggle source
# File lib/phrase/response.rb, line 33
def next_page?
  paginated? && !next_page.nil?
end
paginated?() click to toggle source
# File lib/phrase/response.rb, line 37
def paginated?
  @paginated
end