class AuditAPI::Event
Public Class Methods
create(body, api_key: nil)
click to toggle source
# File lib/auditapi/resources/event.rb, line 15 def create(body, api_key: nil) raise ArgumentError unless body.is_a?(Hash) && !body.empty? url = 'https://api.auditapi.com/v1/events' process_request(url: url, body: body, api_key: api_key) end
list(start_date: nil, end_date: nil, starting_after: nil, ending_before: nil, limit: nil, filter: nil, api_key: nil)
click to toggle source
# File lib/auditapi/resources/event.rb, line 23 def list(start_date: nil, end_date: nil, starting_after: nil, ending_before: nil, limit: nil, filter: nil, api_key: nil) url = 'https://api.auditapi.com/v1/events' params = { start_date: start_date, end_date: end_date, starting_after: starting_after, ending_before: ending_before, limit: limit, filter: filter } process_request(url: url, params: params, api_key: api_key) end
new(values)
click to toggle source
# File lib/auditapi/resources/event.rb, line 5 def initialize(values) @values = values end
retrieve(id, api_key: nil)
click to toggle source
# File lib/auditapi/resources/event.rb, line 38 def retrieve(id, api_key: nil) raise ArgumentError unless id.is_a?(String) && !id.strip.empty? url = "https://api.auditapi.com/v1/events/#{id}" process_request(url: url, api_key: api_key) end
search(start_date: nil, end_date: nil, starting_after: nil, ending_before: nil, limit: nil, filter: nil, query:, api_key: nil)
click to toggle source
# File lib/auditapi/resources/event.rb, line 46 def search(start_date: nil, end_date: nil, starting_after: nil, ending_before: nil, limit: nil, filter: nil, query:, api_key: nil) raise ArgumentError if query.nil? || query.to_s.strip.empty? url = 'https://api.auditapi.com/v1/events/search' params = { start_date: start_date, end_date: end_date, starting_after: starting_after, ending_before: ending_before, limit: limit, filter: filter, query: query } process_request(url: url, params: params, api_key: api_key) end
Private Class Methods
process_request(url:, params: {}, body: nil, api_key: nil)
click to toggle source
# File lib/auditapi/resources/event.rb, line 66 def process_request(url:, params: {}, body: nil, api_key: nil) raise AuthenticationError, 'No API key provided.' if AuditAPI.api_key.nil? && api_key.nil? options = {} options[:body] = body.to_json unless body.nil? options[:headers] = { 'Authorization' => "Bearer #{api_key || AuditAPI.api_key}", "User-Agent" => "AuditAPI/v1 RubyBindings/#{AuditAPI::VERSION}" } options[:query] = params.compact response = if body.nil? HTTParty.get(url, options) else HTTParty.post(url, options) end case response.code when 200..299 BaseObject.parse(response, params) else raise APIError, "API response code was #{response.code}" end end