class DisqusApi::Response

Attributes

arguments[R]
content[R]
request[R]

Public Class Methods

new(request, arguments = {}) click to toggle source

@param [Request] request @param [Hash] arguments

Calls superclass method
# File lib/disqus_api/response.rb, line 7
def initialize(request, arguments = {})
  @request   = request
  @arguments = arguments
  @content   = request.perform(@arguments)

  super(@content)
end

Public Instance Methods

all() click to toggle source

Fetches all response collection entries going through pagination @return [Array<Hash>]

# File lib/disqus_api/response.rb, line 17
def all
  each_resource.to_a
end
body() click to toggle source

@return [Hash]

# File lib/disqus_api/response.rb, line 87
def body
  self['response']
end
Also aliased as: response
code() click to toggle source

@return [Integer]

# File lib/disqus_api/response.rb, line 93
def code
  self['code']
end
each_page(&block) click to toggle source

Iterates through every single page @return [Enumerator<Array<Hash>>]

# File lib/disqus_api/response.rb, line 31
def each_page(&block)
  Enumerator.new do |result|
    next_response = self

    while next_response
      result << next_response.body.to_a
      next_response = next_response.next
    end
  end.each(&block)
end
each_resource(&block) click to toggle source

Iterates through each response entry through all pages @return [Enumerator<Hash>]

# File lib/disqus_api/response.rb, line 23
def each_resource(&block)
  Enumerator.new do |result|
    each_page { |resources| resources.each { |resource| result << resource } }
  end.each(&block)
end
has_next?() click to toggle source
# File lib/disqus_api/response.rb, line 68
def has_next?
  self['cursor']['hasNext']
end
has_prev?() click to toggle source
# File lib/disqus_api/response.rb, line 72
def has_prev?
  self['cursor']['hasPrev']
end
next() click to toggle source

@return [Response, nil]

# File lib/disqus_api/response.rb, line 55
def next
  if has_next?
    request.response(arguments.merge(cursor: next_cursor))
  end
end
next!() click to toggle source

@return [Response]

# File lib/disqus_api/response.rb, line 43
def next!
  self.merge!(self.next) if has_next?
  self
end
next_cursor() click to toggle source

@return [String]

# File lib/disqus_api/response.rb, line 77
def next_cursor
  self['cursor']['next']
end
prev() click to toggle source

@return [Response, nil]

# File lib/disqus_api/response.rb, line 62
def prev
  if has_prev?
    request.response(arguments.merge(cursor: prev_cursor))
  end
end
prev!() click to toggle source

@return [Response]

# File lib/disqus_api/response.rb, line 49
def prev!
  self.merge!(self.prev) if has_prev?
  self
end
prev_cursor() click to toggle source

@return [String]

# File lib/disqus_api/response.rb, line 82
def prev_cursor
  self['cursor']['prev']
end
response()
Alias for: body