class Peek::Adapters::Elasticsearch

Public Class Methods

new(options = {}) click to toggle source
# File lib/peek/adapters/elasticsearch.rb, line 7
def initialize(options = {})
  @client = options.fetch(:client, ::Elasticsearch::Client.new)
  @expires_in = Integer(options.fetch(:expires_in, 60 * 30) * 1000)
  @index = options.fetch(:index, 'peek_requests_index')
  @type = options.fetch(:type, 'peek_request')
end

Public Instance Methods

get(request_id) click to toggle source
# File lib/peek/adapters/elasticsearch.rb, line 14
def get(request_id)
  result = @client.get_source index: @index, type: @type, id: "#{request_id}"
  result.to_json
rescue ::Elasticsearch::Transport::Transport::Errors::NotFound
  # pass
end
save(request_id) click to toggle source
# File lib/peek/adapters/elasticsearch.rb, line 21
def save(request_id)
  @client.index index: @index,
                type: @type,
                id: "#{request_id}",
                body: Peek.results.to_json,
                ttl: @expires_in
rescue ::Elasticsearch::Transport::Transport::Errors::BadRequest
  false
end