Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Foo
- def initialize
- puts '[*] In Foo#initialize'
- @foo = ['Added in intialize in Foo']
- end
- def foo
- puts '[*] In Foo#foo: '
- pp @foo
- puts "[*] foo.class: #{@foo.class}"
- puts '[*] Ending in Foo#Foo'
- @foo
- end
- end
- module FooExtensions
- attr_accessor :bar
- def initialize
- super
- puts '[*] In FooExtensions#initialize'
- @foo << 'Added in Foo Extensions'
- @bar = 'bar'
- end
- def foo
- puts '[!] In FooExtensions#foo'
- puts "[!] bar: #{bar}"
- foo_tmp = super
- foo_tmp << 'modifiying return'
- end
- end
- class Foo
- prepend FooExtensions
- end
- puts "Calling foo.new"
- foo = Foo.new
- puts "Calling foo.foo"
- puts foo.foo
- puts "Calling foo.bar: #{foo.bar}"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement