Sha256: 614f83695fc0939526fa16795000c9cffae86dfac2cb51e702409cc21f23f379
Contents?: true
Size: 986 Bytes
Versions: 14
Compression:
Stored size: 986 Bytes
Contents
require 'peek/adapters/base' require 'elasticsearch' module Peek module Adapters class Elasticsearch < Base 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 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 def save @client.index index: @index, type: @type, id: "#{Peek.request_id}", body: Peek.results.to_json, ttl: @expires_in rescue ::Elasticsearch::Transport::Transport::Errors::BadRequest false end end end end
Version data entries
14 entries across 14 versions & 2 rubygems