Class: Elasticsearch::Model::Proxy::InstanceMethodsProxy

Inherits:
Object
  • Object
show all
Includes:
Client::InstanceMethods, Indexing::InstanceMethods, Naming::InstanceMethods, Base, Serializing::InstanceMethods
Defined in:
lib/elasticsearch/model/proxy.rb

Overview

A proxy interfacing between Elasticsearch::Model instance methods and model instance methods

TODO: Inherit from BasicObject and make Pry’s ‘ls` command behave?

Instance Attribute Summary

Attributes included from Base

#target

Instance Method Summary collapse

Methods included from Indexing::InstanceMethods

#delete_document, included, #index_document, #update_document, #update_document_attributes

Methods included from Naming::InstanceMethods

#document_type, #document_type=, #index_name, #index_name=

Methods included from Client::InstanceMethods

#client, #client=

Methods included from Base

#initialize, #inspect, #respond_to_missing?, #ruby2_keywords

Instance Method Details

#as_indexed_json(options = {}) ⇒ Object



177
178
179
# File 'lib/elasticsearch/model/proxy.rb', line 177

def as_indexed_json(options={})
  target.respond_to?(:as_indexed_json) ? target.__send__(:as_indexed_json, options) : super
end

#as_json(options = {}) ⇒ Object

Need to redefine ‘as_json` because we’re not inheriting from ‘BasicObject`; see TODO note above.



173
174
175
# File 'lib/elasticsearch/model/proxy.rb', line 173

def as_json(options={})
  target.as_json(options)
end

#classObject



166
167
168
# File 'lib/elasticsearch/model/proxy.rb', line 166

def class
  klass.__elasticsearch__
end

#klassObject



162
163
164
# File 'lib/elasticsearch/model/proxy.rb', line 162

def klass
  target.class
end