Class: Para::ComponentsConfiguration::Section
- Inherits:
-
Object
- Object
- Para::ComponentsConfiguration::Section
- Defined in:
- lib/para/components_configuration.rb
Instance Attribute Summary collapse
-
#identifier ⇒ Object
Returns the value of attribute identifier.
-
#model ⇒ Object
Returns the value of attribute model.
Instance Method Summary collapse
- #component(*args, **options, &block) ⇒ Object
- #components ⇒ Object
-
#initialize(identifier, &block) ⇒ Section
constructor
A new instance of Section.
- #refresh(attributes = {}) ⇒ Object
Constructor Details
#initialize(identifier, &block) ⇒ Section
Returns a new instance of Section.
155 156 157 158 |
# File 'lib/para/components_configuration.rb', line 155 def initialize(identifier, &block) self.identifier = identifier.to_s instance_eval(&block) end |
Instance Attribute Details
#identifier ⇒ Object
Returns the value of attribute identifier.
153 154 155 |
# File 'lib/para/components_configuration.rb', line 153 def identifier @identifier end |
#model ⇒ Object
Returns the value of attribute model.
153 154 155 |
# File 'lib/para/components_configuration.rb', line 153 def model @model end |
Instance Method Details
#component(*args, **options, &block) ⇒ Object
160 161 162 |
# File 'lib/para/components_configuration.rb', line 160 def component(*args, **, &block) components << Component.new(*args, **, &block) end |
#components ⇒ Object
164 165 166 |
# File 'lib/para/components_configuration.rb', line 164 def components @components ||= [] end |
#refresh(attributes = {}) ⇒ Object
168 169 170 171 172 173 174 175 176 |
# File 'lib/para/components_configuration.rb', line 168 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 |