lib/wcc/contentful/link_visitor.rb in wcc-contentful-1.3.2 vs lib/wcc/contentful/link_visitor.rb in wcc-contentful-1.4.0.rc1

- old
+ new

@@ -81,10 +81,11 @@ # it's a locale=* entry, but they've added sys.locale to those now raw_value = raw_value[locale] end yield(raw_value, locale) else + # yield each locale in turn raw_value&.each_with_object({}) do |(l, val), h| h[l] = yield(val, l) end end end @@ -103,11 +104,21 @@ def should_walk_link?(_field, val, dep = depth) dep > 0 && val.is_a?(Hash) && val.dig('sys', 'type') == 'Entry' end def set_field(field, locale, index, val) - current_field = (entry['fields'][field] ||= {}) + # default entry + if locale == entry.dig('sys', 'locale') + if index.nil? + entry['fields'][field] = val + else + (entry['fields'][field] ||= [])[index] = val + end + return + end + # locale=* entry + current_field = (entry['fields'][field] ||= {}) if index.nil? current_field[locale] = val else (current_field[locale] ||= [])[index] = val end