Module: FullSearch::Model

Extended by:
ActiveSupport::Concern
Defined in:
lib/full_search/model.rb

Defined Under Namespace

Modules: InstanceMethods

Class Method Summary collapse

Class Method Details

.evaluate_source(record, field) ⇒ Object



58
59
60
61
62
63
64
65
66
# File 'lib/full_search/model.rb', line 58

def self.evaluate_source(record, field)
  if field.source
    record.instance_exec(&field.source)
  else
    record.public_send(field.name)
  end
rescue NameError => e
  raise e.class, "#{record.class.name}: full_search source block for field #{field.name.inspect} failed: #{e.message}"
end