Class: Contentful::Management::UIExtension

Inherits:
Object
  • Object
show all
Includes:
Resource, Resource::EnvironmentAware, Resource::Refresher, Resource::SystemProperties
Defined in:
lib/contentful/management/ui_extension.rb

Overview

Resource class for UIExtension.

See Also:

  • https://www.contentful.com/developers/docs/references/content-management-api/#/reference/ui-extensions

Instance Attribute Summary

Attributes included from Resource::SystemProperties

#sys

Attributes included from Resource

#client, #default_locale, #properties, #raw_object, #request

Instance Method Summary collapse

Methods included from Resource::EnvironmentAware

#environment_id

Methods included from Resource::Refresher

#reload

Methods included from Resource

#array?, #destroy, #environment_id, #fields, #nested_locale_fields?, #resource?, #sys, #update

Instance Method Details

#field_typesArray<String>

Returns extension field types

Returns:

  • (Array<String>)

    field types



67
68
69
# File 'lib/contentful/management/ui_extension.rb', line 67

def field_types
  extension['fieldTypes']
end

#field_types=(values) ⇒ Object

Sets extension field types

Parameters:



73
74
75
# File 'lib/contentful/management/ui_extension.rb', line 73

def field_types=(values)
  extension['fieldTypes'] = values
end

#nameString

Returns extension name

Returns:

  • (String)

    name



55
56
57
# File 'lib/contentful/management/ui_extension.rb', line 55

def name
  extension['name']
end

#name=(value) ⇒ Object

Sets extension name

Parameters:

  • value (String)


61
62
63
# File 'lib/contentful/management/ui_extension.rb', line 61

def name=(value)
  extension['name'] = value
end

#parametersHash

Returns extensions parameters

Returns:

  • (Hash)

    parameters



109
110
111
# File 'lib/contentful/management/ui_extension.rb', line 109

def parameters
  extension['parameters']
end

#parameters=(value) ⇒ Object

Sets extension parameters

Parameters:

  • value (Hash)


115
116
117
# File 'lib/contentful/management/ui_extension.rb', line 115

def parameters=(value)
  extension['parameters'] = value
end

#saveContentful::Management::UIExtension

If an extension is a new object gets created in the Contentful, otherwise the existing extension gets updated.

Returns:

See Also:

  • https://github.com/contentful/contentful-management.rb for details.


43
44
45
46
47
48
49
50
51
# File 'lib/contentful/management/ui_extension.rb', line 43

def save
  self.class.valid_extension(extension)
  if id
    update(extension: extension)
  else
    new_instance = self.class.create(client, sys[:space].id, environment_id, extension: extension)
    refresh_data(new_instance)
  end
end

Returns if extension is on sidebar

Returns:

  • (Boolean)

    sidebar



97
98
99
# File 'lib/contentful/management/ui_extension.rb', line 97

def sidebar
  extension['sidebar']
end

#sidebar=(value) ⇒ Object

Sets if extension is on sidebar

Parameters:

  • value (Boolean)


103
104
105
# File 'lib/contentful/management/ui_extension.rb', line 103

def sidebar=(value)
  extension['sidebar'] = value
end

#sourceString

Returns extension source URL or data

Returns:

  • (String)

    source URL or data



79
80
81
# File 'lib/contentful/management/ui_extension.rb', line 79

def source
  extension['src'] || extension['srcdoc']
end

#source=(value) ⇒ Object

Sets extension source

Parameters:

  • value (String)

    URL or data



85
86
87
88
89
90
91
92
93
# File 'lib/contentful/management/ui_extension.rb', line 85

def source=(value)
  if value.start_with?('http')
    extension['src'] = value
    extension.delete('srcdoc')
  else
    extension['srcdoc'] = value
    extension.delete('src')
  end
end