class Papertrail::SearchQuery

Attributes

max_id[RW]
subsequent_request[RW]

Public Class Methods

api_url() click to toggle source
# File lib/papertrail/search_query.rb, line 8
def self.api_url
  '/api/v1/events/search.json'
end
initial_search_limit() click to toggle source
# File lib/papertrail/search_query.rb, line 12
def self.initial_search_limit
  100
end
new(connection, query = nil, options = {}) click to toggle source
# File lib/papertrail/search_query.rb, line 20
def initialize(connection, query = nil, options = {})
  @connection = connection
  @query      = query
  @options    = options
end
subsequent_search_limit() click to toggle source
# File lib/papertrail/search_query.rb, line 16
def self.subsequent_search_limit
  1000
end

Public Instance Methods

default_request_limit() click to toggle source
# File lib/papertrail/search_query.rb, line 39
def default_request_limit
  if subsequent_request
    self.class.subsequent_search_limit
  else
    @subsequent_request = true
    self.class.initial_search_limit
  end
end
next_results_page() click to toggle source
# File lib/papertrail/search_query.rb, line 28
def next_results_page
  params = @options.dup
  params[:q] = @query if @query
  params[:min_id] = @max_id if @max_id
  params[:limit] ||= default_request_limit

  response = @connection.get(self.class.api_url, params)
  @max_id = response.body['max_id']
  Papertrail::SearchResult.new(response.body)
end