Sha256: cc9c2f0de762402614d72b815d481a8df0182b2d98e40470c5656642ecd4d230

Contents?: true

Size: 863 Bytes

Versions: 35

Compression:

Stored size: 863 Bytes

Contents

require_relative 'base_resource'
require_relative 'field'
require_relative 'support'

module Contentful
  # Resource Class for Content Types
  # https://www.contentful.com/developers/documentation/content-delivery-api/#content-types
  class ContentType < BaseResource
    attr_reader :name, :description, :fields, :display_field

    def initialize(item, *)
      super

      @name = item.fetch('name', nil)
      @description = item.fetch('description', nil)
      @fields = item.fetch('fields', []).map { |field| Field.new(field) }
      @display_field = item.fetch('displayField', nil)
    end

    # Field definition for field
    def field_for(field_id)
      fields.detect { |f| Support.snakify(f.id) == Support.snakify(field_id) }
    end

    alias displayField display_field

    protected

    def repr_name
      "#{super}[#{name}]"
    end
  end
end

Version data entries

35 entries across 35 versions & 1 rubygems

Version Path
contentful-2.17.1 lib/contentful/content_type.rb
contentful-2.17.0 lib/contentful/content_type.rb
contentful-2.16.3 lib/contentful/content_type.rb
contentful-2.16.2 lib/contentful/content_type.rb
contentful-2.16.1 lib/contentful/content_type.rb
contentful-2.16.0 lib/contentful/content_type.rb
contentful-2.15.4 lib/contentful/content_type.rb
contentful-2.15.3 lib/contentful/content_type.rb
contentful-2.15.2 lib/contentful/content_type.rb
contentful-2.15.1 lib/contentful/content_type.rb
contentful-2.15.0 lib/contentful/content_type.rb
contentful-2.14.0 lib/contentful/content_type.rb
contentful-2.13.3 lib/contentful/content_type.rb
contentful-2.13.2 lib/contentful/content_type.rb
contentful-2.13.1 lib/contentful/content_type.rb
contentful-2.13.0 lib/contentful/content_type.rb
contentful-2.12.0 lib/contentful/content_type.rb
contentful-2.11.1 lib/contentful/content_type.rb
contentful-2.11.0 lib/contentful/content_type.rb
contentful-2.10.1 lib/contentful/content_type.rb