For each composition, set the columns in the model class based on the composition object.
# File lib/sequel/plugins/composition.rb, line 154 def before_save @compositions.keys.each{|n| instance_eval(&model.compositions[n][:decomposer])} if @compositions super end
Cache of composition objects for this class.
# File lib/sequel/plugins/composition.rb, line 160 def compositions @compositions ||= {} end
Duplicate compositions hash when duplicating model instance.
# File lib/sequel/plugins/composition.rb, line 165 def dup s = self super.instance_eval do @compositions = s.compositions.dup self end end
Freeze compositions hash when freezing model instance.
# File lib/sequel/plugins/composition.rb, line 174 def freeze compositions.freeze super end
Clear the cached compositions when manually refreshing.
# File lib/sequel/plugins/composition.rb, line 182 def _refresh_set_values(hash) @compositions.clear if @compositions super end