Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module Include
- def call(level)
- puts "#{level} include"
- super(level + 1) rescue nil
- end
- end
- module Prepend
- def call(level)
- puts "#{level} prepend"
- super(level + 1) rescue nil
- end
- end
- module Extend
- def call(level)
- puts "#{level} extend"
- super(level + 1) rescue nil
- end
- end
- class Super
- def call(level)
- puts "#{level} super"
- super(level + 1) rescue nil
- end
- end
- class Klass < Super
- include Include
- prepend Prepend
- def call(level)
- puts "#{level} klass"
- super(level + 1) rescue nil
- end
- end
- thing = Klass.new
- def thing.call(level)
- puts "#{level} singleton"
- super(level + 1) rescue nil
- end
- thing.extend(Extend)
- thing.call(1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement