From: Robert Klemme Date: 2008-01-29T22:16:09+09:00 Subject: Re: Adding instance variables using module include 2008/1/28, me@mikehogan.net : > Hi there, > > If I have a module and class like this: > > module VisitMemory > def mark_visited(method) > @methods_visited << method.my_declaration_signature > end > > def already_visited?(method) > @methods_visited.include?(method.my_declaration_signature) > end > end > > module Guff > module JavaSource > class Class > include VisitMemory > end > end > end > > How can i ensure that all instances of Guff::JavaSource::Class is > going to have the instance variable @methods_visited ? require 'set' module VisitMemory def mark_visited(method) (@methods_visited ||= Set.new) << method.my_declaration_signature end def already_visited?(method) @methods_visited and @methods_visited.include?(method.my_declaration_signature) end end > So that this will work: > > Guff::JavaSource::Class.new.already_visited?(something) Cheers robert -- use.inject do |as, often| as.you_can - without end