L
Lloyd Zusman
I'm wondering if something like this is possible:
module Intercept
def intercept_initialize
puts "performing Intercept#intercept_initialize"
# somehow call containing class's 'initialize' method here
end
end
class Foo
def initialize
puts "performing Foo#initialize"
end
end
class Bar
include Intercept
def initialize
puts "performing Bar#initialize"
end
end
puts "instatiating Foo"
Foo.new
puts "instatiating Bar"
Bar.new
puts "done"
Desired results:
instantiating Foo
performing Foo#initialize
instantiating Bar
performing Intercept#intercept_initialize
performing Bar#initialize
done
In other words, simply by including the "Intercept" module in a class,
I'd like to intercept that class's call to "initialize" and have the
Intercept module's code get invoked first, and _then_ the containing
class's "initialize" method should be called as it normally would.
Is this possible? If so, how?
Thanks in advance.
module Intercept
def intercept_initialize
puts "performing Intercept#intercept_initialize"
# somehow call containing class's 'initialize' method here
end
end
class Foo
def initialize
puts "performing Foo#initialize"
end
end
class Bar
include Intercept
def initialize
puts "performing Bar#initialize"
end
end
puts "instatiating Foo"
Foo.new
puts "instatiating Bar"
Bar.new
puts "done"
Desired results:
instantiating Foo
performing Foo#initialize
instantiating Bar
performing Intercept#intercept_initialize
performing Bar#initialize
done
In other words, simply by including the "Intercept" module in a class,
I'd like to intercept that class's call to "initialize" and have the
Intercept module's code get invoked first, and _then_ the containing
class's "initialize" method should be called as it normally would.
Is this possible? If so, how?
Thanks in advance.