Module: Disposable::Composition::ClassMethods

Defined in:
lib/disposable/composition.rb

Instance Method Summary collapse

Instance Method Details

#create_accessors(model, methods) ⇒ Object



30
31
32
33
# File 'lib/disposable/composition.rb', line 30

def create_accessors(model, methods)
  accessors = methods.collect { |m| [m, "#{m}="] }.flatten
  delegate *accessors << {:to => :"#{model}"}
end

#map(options) ⇒ Object



19
20
21
22
23
24
25
26
27
28
# File 'lib/disposable/composition.rb', line 19

def map(options)
  @attr2obj = {}  # {song: ["title", "track"], artist: ["name"]}

  options.each do |mdl, meths|
    create_accessors(mdl, meths)
    attr_reader mdl

    meths.each { |m| @attr2obj[m.to_s] = mdl }
  end
end