Module: Metamorpher::Transformer::Base
- Included in:
- Mutator, Refactorer
- Defined in:
- lib/metamorpher/transformer/base.rb
Instance Method Summary collapse
- #driver ⇒ Object
- #transform(src, &block) ⇒ Object
- #transform_file(path, &block) ⇒ Object
- #transform_files(paths, &block) ⇒ Object
Instance Method Details
#driver ⇒ Object
27 28 29 |
# File 'lib/metamorpher/transformer/base.rb', line 27 def driver @driver ||= Metamorpher::Drivers::Ruby.new end |
#transform(src, &block) ⇒ Object
9 10 11 12 13 |
# File 'lib/metamorpher/transformer/base.rb', line 9 def transform(src, &block) literal = driver.parse(src) replacements = reduce_to_replacements(src, literal) merge(src, replacements, &block) end |
#transform_file(path, &block) ⇒ Object
15 16 17 |
# File 'lib/metamorpher/transformer/base.rb', line 15 def transform_file(path, &block) transform(File.read(path), &block) end |
#transform_files(paths, &block) ⇒ Object
19 20 21 22 23 24 25 |
# File 'lib/metamorpher/transformer/base.rb', line 19 def transform_files(paths, &block) paths.each_with_object({}) do |path, result| changes = [] result[path] = transform_file(path) { |change| changes << change } block.call(path, result[path], changes) if block end end |