module Dogviz module Nominator def nominate(names_to_nominees) names_to_nominees.each { |name, nominee| self.class.send(:define_method, name) do nominee end } end def nominate_from(nominee_nominator, *nominee_names) nominee_names.each { |name| accessor_sym = name.to_s.to_sym nominate accessor_sym => nominee_nominator.send(accessor_sym) } end end end