> In standard ruby: > > class Module > def before(*method_names) > @before = method_names > end > alias pre_beforehack_append_features append_features > def append_features(klass) > @before ||= [] > @before.each{|method_name| > klass.module_eval <<-END_OF_ADVICE > alias pre_include_#{self}_#{method_name} #{method_name} > def #{method_name}(*args,&block) > #{method_name}_#{self}(*args,&block) > pre_include_#{self}_#{method_name}(*args,&block) > end > END_OF_ADVICE > } > pre_beforehack_append_features(klass) > end > end [...] I have used this solution, and the small problem is that I must define the method to wrap _before_ I include the mixin. Is it possible to get rid of this constraint? Thanks: Circum