For each composition, set the columns in the model class based on the composition object.
# File lib/sequel/plugins/composition.rb, line 173 def before_validation @compositions.keys.each{|n| instance_exec(&model.compositions[n][:decomposer])} if @compositions super end
Cache of composition objects for this class.
# File lib/sequel/plugins/composition.rb, line 161 def compositions @compositions ||= {} end
Freeze compositions hash when freezing model instance.
# File lib/sequel/plugins/composition.rb, line 166 def freeze compositions.freeze super end
Clear the cached compositions when manually refreshing.
# File lib/sequel/plugins/composition.rb, line 181 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 187 def initialize_copy(other) super @compositions = Hash[other.compositions] self end