From: Trans Date: 2005-12-02T22:57:31+09:00 Subject: Dynamic Modules I would like to discuss the merits/non-merits and the best approach to implementation of "dynamic modules" --modules that take parameters at the time of include, thus altering their behavior per include. The common denominator here is the altered interface of #include: include AModule, :opt1 => :val1, :opt2 => :val2 Here's a simple example based on the implementation I (and friends) put together module Mixin dynamic_feature do |options| define_method :hello do puts "Hello from #{options[:name]}" end end end class MyClass include Mixin, :name => 'Ruby' end m = MyClass.new m.hello -> 'Hello from Ruby' class MyClass2 include Mixin, :name => 'Tom' end m = MyClass2.new m.hello -> 'Hello from Tom' T.