module AtomicCms::HasComponents::ClassMethods
Public Instance Methods
component_attr(name)
click to toggle source
# File lib/atomic_cms/has_components.rb, line 10 def component_attr(name) define_method("set_default_#{name}") do write_attribute(name, ArrayComponent.new.to_yaml) unless send(name) end after_initialize "set_default_#{name}" define_method("#{name}_object") do AtomicAssets::Component.from_yaml(send(name)) end define_method("#{name}_object=") do |params| object = AtomicAssets::Component.from_hash(params) write_attribute(name, object.to_yaml) end define_method("#{name}_render") do send("#{name}_object").render end define_method("#{name}_edit") do send("#{name}_object").edit end end