Report abuse


			
module Bar
  def self.included(base)
    base.extend ClassMethods
  end

  module ClassMethods
    def super_foo
      class_eval do
        %w{foo bar}.each do |x|
          define_method "fuck_#{x}" do
            puts "calling x in method: #{x}"
          end
        end
      end
    end
  end
end

class Foo
  include ::Bar

  attr_accessor :foo, :bar

  super_foo
end

f = Foo.new
f.fuck_foo

output


			
sneaky:Desktop rsl$ ruby test.rb 
calling x in method: foo