From: Gunther Diemant Date: 2011-03-16T23:36:43+09:00 Subject: Re: Calling Ruby module methods from a nested class within --0016e65a0dfcb31375049e9a631c Content-Type: text/plain; charset=ISO-8859-1 Afaik there is no way to call an instance method of a module without including it (or extending an Object with it). But you can make expire_cache a module class method and then call it. module GroupSweeper def self.expire_cache(paths) puts "dummy code" end end class Foo < Bar def baz(arg) GroupSweeper.expire_cache(arg) end end 2011/3/16 mgerstenblatt@gmail.com > Hi, Is there an alternative to calling a Module method from a nested > class? The code: > > module GroupSweeper > > > def expire_cache(paths) > > paths.each do |path| > > expire_page(path) > > end > > end > > > class SweeperOne < ActionController::Caching::Sweeper > > include GroupSweeper > > observe Subject > > def after_save(subject) > > expire_cache([root_path,subjects_path]) > > end > > def after_destroy(subject) > > expire_cache([root_path,subjects_path]) > > end > > end > > > end > > How can I call GroupSweeper's expire_cache method from within > SweeperOne without explicitely including it? Should I not be doing > this? > > --0016e65a0dfcb31375049e9a631c--