Cache of composition objects for this class.
# File lib/sequel/plugins/composition.rb, line 153 def compositions @compositions ||= {} end
Freeze compositions hash when freezing model instance.
# File lib/sequel/plugins/composition.rb, line 158 def freeze compositions.freeze super end
For each composition, set the columns in the model class based on the composition object.
# File lib/sequel/plugins/composition.rb, line 167 def _before_validation @compositions.keys.each{|n| instance_eval(&model.compositions[n][:decomposer])} if @compositions super end
Clear the cached compositions when manually refreshing.
# File lib/sequel/plugins/composition.rb, line 173 def _refresh_set_values(hash) @compositions.clear if @compositions super end
Duplicate compositions hash when duplicating model instance.
# File lib/sequel/plugins/composition.rb, line 179 def initialize_copy(other) super @compositions = other.compositions.dup self end