class Contentful::Management::UIExtension

Resource class for UIExtension. @see _ www.contentful.com/developers/docs/references/content-management-api/#/reference/ui-extensions

Public Class Methods

create_attributes(_client, attributes) click to toggle source

@private

# File lib/contentful/management/ui_extension.rb, line 22
def self.create_attributes(_client, attributes)
  extension = attributes['extension'] || attributes[:extension]

  fail 'Invalid UI Extension attributes' unless valid_extension?(extension)

  { 'extension' => extension }
end
endpoint() click to toggle source

@private

# File lib/contentful/management/ui_extension.rb, line 17
def self.endpoint
  'extensions'
end
valid_extension?(extension) click to toggle source

@private

# File lib/contentful/management/ui_extension.rb, line 31
def self.valid_extension?(extension)
  return false unless extension.key?('name')
  return false unless extension.key?('fieldTypes') && extension['fieldTypes'].is_a?(::Array)
  return false unless extension.key?('src') || extension.key?('srcdoc')
  return false if extension.key?('sidebar') && ![false, true].include?(extension['sidebar'])
  true
end

Public Instance Methods

field_types() click to toggle source

Returns extension field types @return [Array<String>] field types

# File lib/contentful/management/ui_extension.rb, line 62
def field_types
  extension['fieldTypes']
end
field_types=(values) click to toggle source

Sets extension field types @param [Array<String>] values

# File lib/contentful/management/ui_extension.rb, line 68
def field_types=(values)
  extension['fieldTypes'] = values
end
name() click to toggle source

Returns extension name @return [String] name

# File lib/contentful/management/ui_extension.rb, line 50
def name
  extension['name']
end
name=(value) click to toggle source

Sets extension name @param [String] value

# File lib/contentful/management/ui_extension.rb, line 56
def name=(value)
  extension['name'] = value
end
parameters() click to toggle source

Returns extensions parameters @return [Hash] parameters

# File lib/contentful/management/ui_extension.rb, line 104
def parameters
  extension['parameters']
end
parameters=(value) click to toggle source

Sets extension parameters @param [Hash] value

# File lib/contentful/management/ui_extension.rb, line 110
def parameters=(value)
  extension['parameters'] = value
end
save() click to toggle source

If an extension is a new object gets created in the Contentful, otherwise the existing extension gets updated. @see _ github.com/contentful/contentful-management.rb for details.

@return [Contentful::Management::UIExtension]

# File lib/contentful/management/ui_extension.rb, line 43
def save
  fail 'Invalid UI extension attributes' unless self.class.valid_extension?(extension)
  update(extension: extension)
end
sidebar() click to toggle source

Returns if extension is on sidebar @return [Boolean] sidebar

sidebar=(value) click to toggle source

Sets if extension is on sidebar @param [Boolean] value

source() click to toggle source

Returns extension source URL or data @return [String] source URL or data

# File lib/contentful/management/ui_extension.rb, line 74
def source
  extension['src'] || extension['srcdoc']
end
source=(value) click to toggle source

Sets extension source @param [String] value URL or data

# File lib/contentful/management/ui_extension.rb, line 80
def source=(value)
  if value.start_with?('http')
    extension['src'] = value
    extension.delete('srcdoc')
  else
    extension['srcdoc'] = value
    extension.delete('src')
  end
end