Guest User

Untitled

a guest
Jan 21st, 2018
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.66 KB | None | 0 0
  1. module Whitespace
  2. def self.trollify path, code
  3. code.chomp!.gsub!(/([ \t]+)$/) do |match|
  4. "; sleep(1)" * match.length
  5. end
  6.  
  7. code.gsub!(/\brequire_relative\s*\(?\s*(.+?)\s*\)?;?$/) do |match|
  8. "Whitespace::require_relative #{$1}, binding(), '#{path}'"
  9. end
  10. code
  11. end
  12.  
  13. def self.require_relative s, b = binding(), path = ""
  14. s = File.expand_path(s, path)
  15. return if /\bwhitespace(?:.rb)?[^\/]/ =~ s
  16.  
  17. eval trollify(File.dirname(s), File.open(s).read), b
  18. end
  19. end
  20.  
  21. caller_file = caller.first.split(/:\d/, 2).first
  22.  
  23. abs_path = File.expand_path(caller_file, File.dirname(caller_file))
  24. Whitespace::require_relative abs_path, binding()
  25.  
  26. exit
Add Comment
Please, Sign In to add comment