class Cased::Query
Public Class Methods
new(client, phrase: nil, variables: {})
click to toggle source
@param client [Cased::HTTP::Client] the HTTP
client authorized to query an
audit trail policy
@param phrase [String, nil] the phrase to search for audit trail events @param variables [Hash] the query variables
# File lib/cased/query.rb, line 14 def initialize(client, phrase: nil, variables: {}) raise ArgumentError, 'variables must be a Hash' unless variables.is_a?(Hash) @client = client @phrase = phrase @page = 1 @limit = 25 @variables = variables end
Public Instance Methods
limit(new_limit)
click to toggle source
@param new_limit [Integer] The number of audit trail events to return. @return [Cased::Query]
# File lib/cased/query.rb, line 34 def limit(new_limit) @limit = [[new_limit, 100].min, 1].max self end
page(new_page)
click to toggle source
@param new_page [Integer] The page of audit trail events to request. @return [Cased::Query]
# File lib/cased/query.rb, line 42 def page(new_page) @page = [1, new_page.to_i].max self end
phrase(new_phrase)
click to toggle source
@param new_phrase [String] The audit trail policy search phrase. @return [Cased::Query]
# File lib/cased/query.rb, line 26 def phrase(new_phrase) @phrase = new_phrase self end
response()
click to toggle source
# File lib/cased/query.rb, line 73 def response return @response if defined?(@response) @response = begin resp = @client.get('events') do |req| req.params['phrase'] = @phrase unless @phrase.nil? req.params['per_page'] = @limit unless @limit.nil? req.params['page'] = @page unless @page.nil? req.params['variables'] = @variables unless @variables.nil? end CollectionResponse.new(response: resp) rescue Cased::HTTP::Error, Faraday::Error => e CollectionResponse.new(exception: e) end end