Module: Elasticsearch::Model::MongoidExtensions::Localized::Serializing

Defined in:
lib/elasticsearch/model/mongoid_extensions/localized.rb

Instance Method Summary collapse

Instance Method Details

#as_indexed_json(*args) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
# File 'lib/elasticsearch/model/mongoid_extensions/localized.rb', line 29

def as_indexed_json(*args)
  super(*args).tap do |obj|
    fields.select { |_, field| field.localized? }.each do |name, field|
      aliased_name = field.options[:as].to_s
      translations_field_name = [name, 'translations'].join('_')
      if obj.key?(name) then obj[name] = send(translations_field_name)
      elsif obj.key?(aliased_name) then obj[aliased_name] = send(translations_field_name)
      end
    end
  end
end