lib/sub_diff/sub.rb in sub_diff-1.1.0 vs lib/sub_diff/sub.rb in sub_diff-1.1.1

- old
+ new

@@ -1,21 +1,23 @@ module SubDiff + # Processes matches for {String#gsub} replacements + # by pushing diffs into a {Builder} instance. + # + # Used internally by {Adapter}. + # + # @api private class Sub - attr_reader :differ + include Buildable - def initialize(differ) - @differ = differ - end - def diff(search, *args, &block) - differ.each_diff(search, *args, block) do |builder, diff| - process(builder, diff, search) + differ.match(search, *args, block) do |diff| + append_diff_to_builder(diff, search) end end private - def process(builder, diff, search) + def append_diff_to_builder(diff, search) builder << prefix(diff) builder.push(diff[:replacement], diff[:match]) builder << suffix(diff, search) end