Sha256: f9ea000c9ab915b413b146abac0aeb0af668673fe2b53779cdf0602826b10ffa
Contents?: true
Size: 1.24 KB
Versions: 1
Compression:
Stored size: 1.24 KB
Contents
module ContentfulMiddleman module Mapper class Base def map(context, entry) map_entry(context, entry) end private def map_entry(context, entry) context.id = entry.id entry.fields.each {|k, v| map_field context, k, v} end def map_field(context, field_name, field_value) case field_value when Contentful::Asset map_asset(context, field_name, field_value) when Contentful::Location map_location(context, field_name, field_value) when Array map_array(context, field_name, field_value) else context.set(field_name, field_value) end end def map_asset(context, field_name, field_value) context.nest(field_name) do |nested_context| nested_context.title = field_value.title nested_context.url = field_value.file.url end end def map_array(context, field_name, field_value) context.map(field_name, field_value) do |element, new_context| map_entry(new_context, element) end end def map_location(context, field_name, field_value) context.set(field_name, field_value.properties) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
contentful_middleman-1.0.3 | lib/contentful_middleman/mappers/base.rb |