Module: Sequel::Plugins::Composition::InstanceMethods
- Defined in:
- lib/sequel/plugins/composition.rb
Instance Method Summary collapse
-
#before_save ⇒ Object
For each composition, set the columns in the model class based on the composition object.
-
#compositions ⇒ Object
Cache of composition objects for this class.
-
#freeze ⇒ Object
Freeze compositions hash when freezing model instance.
-
#set_values(hash) ⇒ Object
Clear the cached compositions when setting values.
Instance Method Details
#before_save ⇒ Object
For each composition, set the columns in the model class based on the composition object.
160 161 162 163 |
# File 'lib/sequel/plugins/composition.rb', line 160 def before_save @compositions.keys.each{|n| instance_eval(&model.compositions[n][:decomposer])} if @compositions super end |
#compositions ⇒ Object
Cache of composition objects for this class.
166 167 168 |
# File 'lib/sequel/plugins/composition.rb', line 166 def compositions @compositions ||= {} end |
#freeze ⇒ Object
Freeze compositions hash when freezing model instance.
171 172 173 174 |
# File 'lib/sequel/plugins/composition.rb', line 171 def freeze compositions.freeze super end |
#set_values(hash) ⇒ Object
Clear the cached compositions when setting values.
153 154 155 156 |
# File 'lib/sequel/plugins/composition.rb', line 153 def set_values(hash) @compositions.clear if @compositions super end |