Method: Sequel::Plugins::Composition::ClassMethods#define_composition_accessor
- Defined in:
- lib/sequel/plugins/composition.rb
#define_composition_accessor(name, opts = {}) ⇒ Object
Define getter and setter methods for the composition object.
101 102 103 104 105 106 107 108 109 110 111 112 113 |
# File 'lib/sequel/plugins/composition.rb', line 101 def define_composition_accessor(name, opts={}) include(@composition_module ||= Module.new) unless composition_module composer = opts[:composer] composition_module.class_eval do define_method(name) do compositions.include?(name) ? compositions[name] : (compositions[name] = instance_eval(&composer)) end define_method("#{name}=") do |v| modified! compositions[name] = v end end end |