Class: Cms::Section::BlockBase

Inherits:
Object
  • Object
show all
Defined in:
app/models/cms/section/block_base.rb

Class Method Summary collapse

Class Method Details

.inherited(subclass) ⇒ Object

Each subclass gets its own independent schema array



7
8
9
10
# File 'app/models/cms/section/block_base.rb', line 7

def self.inherited(subclass)
  super
  subclass.instance_variable_set(:@_settings_schema, [])
end

.kindObject

Raises:

  • (NotImplementedError)


27
28
29
# File 'app/models/cms/section/block_base.rb', line 27

def self.kind
  raise NotImplementedError, "#{self} must define .kind"
end

.settings_field(name, type:, required: false, default: nil, options: nil) ⇒ Object



12
13
14
15
16
17
18
19
20
21
# File 'app/models/cms/section/block_base.rb', line 12

def self.settings_field(name, type:, required: false, default: nil, options: nil)
  @_settings_schema ||= []
  @_settings_schema << {
    name: name.to_s,
    type: type,
    required: required,
    default: default,
    options: options
  }.compact
end

.settings_schemaObject



23
24
25
# File 'app/models/cms/section/block_base.rb', line 23

def self.settings_schema
  @_settings_schema || []
end