class Para::ComponentsConfiguration::Section

Attributes

identifier[RW]
model[RW]

Public Class Methods

new(identifier, &block) click to toggle source
# File lib/para/components_configuration.rb, line 153
def initialize(identifier, &block)
  self.identifier = identifier.to_s
  instance_eval(&block)
end

Public Instance Methods

component(*args, **options, &block) click to toggle source
# File lib/para/components_configuration.rb, line 158
def component(*args, **options, &block)
  components << Component.new(*args, **options, &block)
end
components() click to toggle source
# File lib/para/components_configuration.rb, line 162
def components
  @components ||= []
end
refresh(attributes = {}) click to toggle source
# File lib/para/components_configuration.rb, line 166
def refresh(attributes = {})
  self.model = ComponentSection.where(identifier: identifier).first_or_initialize
  model.assign_attributes(attributes)
  model.save!

  components.each_with_index do |component, index|
    component.refresh(component_section: model, position: index)
  end
end