Greetings.
I've got very strange behavior of alias_method_chains, and I hope someone will advise me.
I have a rails 2.2.2 app created with #rails aliasApp
, a class XYZ residing in app/helpers/xyz.rb:
<code> class XYZ
attr_accessor :name attr_accessor :value
def initialize (a, b) puts "in XYZ constructor" self.name = a self.value = b end
def a puts self.name end
def b puts self.value end end </code>
, and an extended class XYZ in app/views/xyz_ext.rb
<code> class XYZ def initialize_with_extension a,b puts "before chain" initialize_without_extension a,b puts "after chain" end alias_method_chain :initialize, :extension end </code>
So basically what I expect to have three lines in the console when creating XYZ: 1) before chain 2) in Alias constructor 3) after chain
BUT I get something really different!
silencio:alias u2$ script/console Loading development environment (Rails 2.2.2)
require 'app/views/xyz_ext.rb'
=> ["XYZ"]
XYZ.new 1,3
before chain ArgumentError: wrong number of arguments (2 for 0) from ./app/views/xyz_ext.rb:4:in `initialize_without_extension' from ./app/views/xyz_ext.rb:4:in `initialize' from (irb):3:in `new' from (irb):3
Any ideas on this error would be very appreciated! Alex