lib/contentful_middleman/mappers/base.rb in contentful_middleman-1.1.1 vs lib/contentful_middleman/mappers/base.rb in contentful_middleman-1.2.0

- old
+ new

@@ -3,12 +3,13 @@ module ContentfulMiddleman module Mapper class Base attr_reader :entries - def initialize(entries) + def initialize(entries, options) @entries = entries + @options = options @children = {} end def map(context, entry) @children = { @@ -22,10 +23,14 @@ end end private + def has_multiple_locales? + @options.cda_query.fetch(:locale, nil) == '*' + end + def map_field(context, field_name, field_value) value_mapping = map_value(field_value) context.set(field_name, value_mapping) end @@ -54,10 +59,13 @@ context end def map_entry_full(entry, context) context.id = entry.id - entry.fields.each {|k, v| map_field context, k, v} + + fields = has_multiple_locales? ? entry.fields_with_locales : entry.fields + + fields.each {|k, v| map_field context, k, v} end def map_entry(entry) context = Context.new context.id = entry.id