Sha256: 98e9ef729b48e72eecea6cb9fa1c91f76f194f0c960a3526c8ecfd06773a8f58
Contents?: true
Size: 811 Bytes
Versions: 3
Compression:
Stored size: 811 Bytes
Contents
require "attributable" module Metamorpher module Transformer Site = Struct.new(:original_position, :original_code, :refactored_code) do def slide(offset) new_position = (original_position.begin + offset)..(original_position.end + offset) Site.new(new_position, original_code, refactored_code) end def merge_into(destination) if original_position.begin > destination.size fail ArgumentError, "Position #{original_position} does not exist in: #{destination}" end destination[original_position] = refactored_code destination end def offset refactored_code.size - original_code.size end def <=>(other) original_position.begin <=> other.original_position.begin end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
metamorpher-0.2.2 | lib/metamorpher/transformer/site.rb |
metamorpher-0.2.1 | lib/metamorpher/transformer/site.rb |
metamorpher-0.2.0 | lib/metamorpher/transformer/site.rb |