Class: ZombieKiller
- Inherits:
-
Object
- Object
- ZombieKiller
- Defined in:
- lib/zombie_killer/killer.rb,
lib/zombie_killer/version.rb
Constant Summary collapse
- VERSION =
"0.2"
Instance Method Summary collapse
- #kill_file(filename, new_filename, unsafe: false) ⇒ Object
- #kill_string(code, filename = "(inline code)", unsafe: false) ⇒ Object (also: #kill)
Instance Method Details
#kill_file(filename, new_filename, unsafe: false) ⇒ Object
20 21 22 23 24 |
# File 'lib/zombie_killer/killer.rb', line 20 def kill_file(filename, new_filename, unsafe: false) new_string = kill_string(File.read(filename), filename, unsafe: unsafe) File.write(new_filename, new_string) end |
#kill_string(code, filename = "(inline code)", unsafe: false) ⇒ Object Also known as: kill
8 9 10 11 12 13 14 15 16 |
# File 'lib/zombie_killer/killer.rb', line 8 def kill_string(code, filename = "(inline code)", unsafe: false) fixed_point(code) do |c| parser = Parser::CurrentRuby.new rewriter = ZombieKillerRewriter.new(unsafe: unsafe) buffer = Parser::Source::Buffer.new(filename) buffer.source = c rewriter.rewrite(buffer, parser.parse(buffer)) end end |