MacRubyでておくれる

こんな適当な変更をでっち上げて、MacRubyに食わせたら何が起きるかなぁと実験してたら、思いがけない意味不明なエラー食らった。ナニコレ。

$ macruby mikutter.rb 
/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/lib/ruby/1.9.2/monitor.rb:219:in `initialize': wrong number of arguments (1 for 0) (ArgumentError)
	from /Library/Frameworks/MacRuby.framework/Versions/0.12/usr/lib/ruby/1.9.2/monitor.rb:150:in `extend_object'
	from /Users/syuu/mikutter/core/delayer.rb:12:in `block'
	from /Users/syuu/mikutter/core/delayer.rb:6:in `<main>'
	from /Users/syuu/mikutter/core/miquire.rb:81:in `miquire_original_require'
	from /Users/syuu/mikutter/core/miquire.rb:78:in `file_or_directory_require'
	from /Users/syuu/mikutter/core/miquire.rb:59:in `block'
	from /Users/syuu/mikutter/core/miquire.rb:58:in `miquire'
	from /Users/syuu/mikutter/core/miquire.rb:13:in `miquire'
	from /Users/syuu/mikutter/core/serialthread.rb:4:in `<main>'
	from /Users/syuu/mikutter/core/miquire.rb:81:in `miquire_original_require'
	from /Users/syuu/mikutter/core/miquire.rb:78:in `file_or_directory_require'
	from /Users/syuu/mikutter/core/miquire.rb:59:in `block'
	from /Users/syuu/mikutter/core/miquire.rb:58:in `miquire'
	from /Users/syuu/mikutter/core/miquire.rb:13:in `miquire'
	from /Users/syuu/mikutter/core/configloader.rb:8:in `<main>'
	from /Users/syuu/mikutter/core/miquire.rb:81:in `miquire_original_require'
	from /Users/syuu/mikutter/core/miquire.rb:78:in `file_or_directory_require'
	from /Users/syuu/mikutter/core/miquire.rb:59:in `block'
	from /Users/syuu/mikutter/core/miquire.rb:58:in `miquire'
	from /Users/syuu/mikutter/core/miquire.rb:13:in `miquire'
	from /Users/syuu/mikutter/core/autotag.rb:6:in `<main>'
	from /Users/syuu/mikutter/core/miquire.rb:81:in `miquire_original_require'
	from /Users/syuu/mikutter/core/miquire.rb:78:in `file_or_directory_require'
	from /Users/syuu/mikutter/core/miquire.rb:59:in `block'
	from /Users/syuu/mikutter/core/miquire.rb:58:in `miquire'
	from /Users/syuu/mikutter/core/miquire.rb:13:in `miquire'

追記:

  def initialize(*args)
    super #ここで「wrong number of arguments (1 for 0) (ArgumentError)」
    mon_initialize
  end
  def self.extend_object(obj)
    super(obj) #ここで↑を呼んでる
    obj.__send__(:mon_initialize)
  end
class Delayer
  CRITICAL = 0
  FASTER = 0
  NORMAL = 1
  LATER = 2
  LAST = 2
  extend MonitorMixin #ここで↑を呼んでる

Ruby詳しい人はよ