intinig / chuck_norris
- Source
- Commits
- Network (0)
- Issues (0)
- Downloads (0)
- Wiki (1)
- Graphs
-
Branch:
master
Giovanni Intini (author)
Fri Jun 13 04:18:44 -0700 2008
chuck_norris / chuck_norris.rb
| 34b7fab5 » | Giovanni Intini | 2008-06-13 | 1 | class ChuckNorris | |
| 2 | def initialize | ||||
| 3 | file, line, method = caller[0].split ":" | ||||
| 4 | method = method.match(/`(.*)'/)[1] | ||||
| 5 | source = File.readlines(file) | ||||
| 6 | pointer = line.to_i - 1 | ||||
| 7 | (line.to_i - 1).downto(0) do |i| | ||||
| 8 | break if source[i].match(/class (.*)\s/) | ||||
| 9 | end | ||||
| 10 | return "Ah, nice try." if $1 == "ChuckNorris" | ||||
| 11 | puts "No one initializes Chuck Norris, do you understand #{$1}? No one." | ||||
| 12 | puts "Chuck Norris roundhouse kicks #{$1} so strong that it kills all his siblings too." | ||||
| 13 | ObjectSpace.each_object(ObjectSpace.const_get($1)) {|o| o = nil} | ||||
| 14 | end | ||||
| 15 | |||||
| 16 | def self.inherited(subclass) | ||||
| 17 | puts "Understand me, #{subclass}, no one inherits from Chuck Norris, no one." | ||||
| 18 | raise "CannotSubClassTheChuckNorris" | ||||
| 19 | end | ||||
| 20 | end | ||||

