module Contentful::Management::Resource::Metadata

Adds metadata logic for [Resource] classes

Attributes

_metadata[R]

Returns the metadata hash

Public Class Methods

new(object = nil, *) click to toggle source

@private

Calls superclass method
# File lib/contentful/management/resource/metadata.rb, line 10
def initialize(object = nil, *)
  super
  @_metadata = {}
  extract_metadata_from_object! object if object
end

Public Instance Methods

inspect(info = nil) click to toggle source

@private

Calls superclass method
# File lib/contentful/management/resource/metadata.rb, line 17
def inspect(info = nil)
  if _metadata.empty?
    super(info)
  else
    super("#{info} @_metadata=#{_metadata.inspect}")
  end
end

Private Instance Methods

coerce_tags(tags) click to toggle source
# File lib/contentful/management/resource/metadata.rb, line 38
def coerce_tags(tags)
  tags.map { |tag| Contentful::Management::Link.new(tag) }
end
extract_metadata_from_object!(object) click to toggle source
# File lib/contentful/management/resource/metadata.rb, line 27
def extract_metadata_from_object!(object)
  return unless object.key?('metadata')
  object['metadata'].each do |key, value|
    @_metadata[key.to_sym] = if key == 'tags'
                               coerce_tags(value)
                             else
                               value
                             end
  end
end