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