A
apefan
Baz#boo and Baz.new.methodboo).call dosn't produce the same result.
Does this surprise anyone?
irb(main):001:0> class Foo
irb(main):002:1> def boo
irb(main):003:2> puts "Foo#boo"
irb(main):004:2> end
irb(main):005:1> end
=> nil
irb(main):006:0>
irb(main):007:0* module Bar
irb(main):008:1> def boo
irb(main):009:2> puts "Bar#boo"
irb(main):010:2> super
irb(main):011:2> end
irb(main):012:1> end
=> nil
irb(main):013:0>
irb(main):014:0* class Baz < Foo
irb(main):015:1> include Bar
irb(main):016:1> end
=> Baz
irb(main):017:0>
irb(main):018:0* Baz.new.boo
Bar#boo
Foo#boo
=> nil
irb(main):019:0> Baz.new.methodboo).call
Bar#boo
NoMethodError: super: no superclass method `boo'
from (irb):10:in `boo'
from (irb):19:in `call'
from (irb):19
from :0
irb(main):020:0>
Does this surprise anyone?
irb(main):001:0> class Foo
irb(main):002:1> def boo
irb(main):003:2> puts "Foo#boo"
irb(main):004:2> end
irb(main):005:1> end
=> nil
irb(main):006:0>
irb(main):007:0* module Bar
irb(main):008:1> def boo
irb(main):009:2> puts "Bar#boo"
irb(main):010:2> super
irb(main):011:2> end
irb(main):012:1> end
=> nil
irb(main):013:0>
irb(main):014:0* class Baz < Foo
irb(main):015:1> include Bar
irb(main):016:1> end
=> Baz
irb(main):017:0>
irb(main):018:0* Baz.new.boo
Bar#boo
Foo#boo
=> nil
irb(main):019:0> Baz.new.methodboo).call
Bar#boo
NoMethodError: super: no superclass method `boo'
from (irb):10:in `boo'
from (irb):19:in `call'
from (irb):19
from :0
irb(main):020:0>