Method: Elastictastic::Properties::ClassMethods#each_field

Defined in:
lib/elastictastic/properties.rb

#each_fieldObject



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/elastictastic/properties.rb', line 6

def each_field
  properties.each_pair do |field, properties|
    if properties['properties']
      embeds[field].clazz.each_field do |embed_field, embed_properties|
        yield("#{field}.#{embed_field}", embed_properties)
      end
    elsif properties['fields']
      properties['fields'].each_pair do |variant_field, variant_properties|
        if variant_field == field
          yield(field, variant_properties)
        else
          yield("#{field}.#{variant_field}", variant_properties)
        end
      end
    else
      yield field, properties
    end
  end
end