Class: Elastictastic::Association

Inherits:
Object
  • Object
show all
Defined in:
lib/elastictastic/association.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, options = {}) ⇒ Association

Returns a new instance of Association.



5
6
7
# File 'lib/elastictastic/association.rb', line 5

def initialize(name, options = {})
  @name, @options = name.to_s, options.symbolize_keys
end

Instance Attribute Details

#name ⇒ Object (readonly)

Returns the value of attribute name.



3
4
5
# File 'lib/elastictastic/association.rb', line 3

def name
  @name
end

#options ⇒ Object (readonly)

Returns the value of attribute options.



3
4
5
# File 'lib/elastictastic/association.rb', line 3

def options
  @options
end

Instance Method Details

#class_name ⇒ Object



9
10
11
# File 'lib/elastictastic/association.rb', line 9

def class_name
  @options[:class_name] || @name.to_s.classify
end

#clazz ⇒ Object



13
14
15
# File 'lib/elastictastic/association.rb', line 13

def clazz
  @clazz ||= class_name.constantize
end

#extract(instance) ⇒ Object



17
18
19
# File 'lib/elastictastic/association.rb', line 17

def extract(instance)
  instance.__send__(name)
end