class Elasticsearch::Persistence::Repository::Class

The default repository class, to be used either directly, or as a gateway in a custom repository class

@example Standalone use

repository = Elasticsearch::Persistence::Repository::Class.new
# => #<Elasticsearch::Persistence::Repository::Class ...>
repository.save(my_object)
# => {"_index"=> ... }

@example Shortcut use

repository = Elasticsearch::Persistence::Repository.new
# => #<Elasticsearch::Persistence::Repository::Class ...>

@example Configuration via a block

repository = Elasticsearch::Persistence::Repository.new do
  index 'my_notes'
end

# => #<Elasticsearch::Persistence::Repository::Class ...>
# > repository.save(my_object)
# => {"_index"=> ... }

@example Accessing the gateway in a custom class

class MyRepository
  include Elasticsearch::Persistence::Repository
end

repository = MyRepository.new

repository.gateway.client.info
# => {"status"=>200, "name"=>"Venom", ... }

Attributes

options[R]

Public Class Methods

new(options={}, &block) click to toggle source
# File lib/elasticsearch/persistence/repository/class.rb, line 52
def initialize(options={}, &block)
  @options = options
  index_name options.delete(:index)
  block.arity < 1 ? instance_eval(&block) : block.call(self) if block_given?
end

Public Instance Methods

host() click to toggle source

Return the “host” class, if this repository is a gateway hosted in another class

@return [nil, Class]

@api private

# File lib/elasticsearch/persistence/repository/class.rb, line 64
def host
  options[:host]
end