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