class Test::Unit::Diff::SequenceMatcher
Public Class Methods
new(from, to, &junk_predicate)
click to toggle source
# File test-unit-3.3.4/lib/test/unit/diff.rb, line 14 def initialize(from, to, &junk_predicate) @from = from @to = to @junk_predicate = junk_predicate update_to_indexes end
Public Instance Methods
blocks()
click to toggle source
# File test-unit-3.3.4/lib/test/unit/diff.rb, line 35 def blocks @blocks ||= compute_blocks end
grouped_operations(context_size=nil)
click to toggle source
# File test-unit-3.3.4/lib/test/unit/diff.rb, line 43 def grouped_operations(context_size=nil) context_size ||= 3 _operations = operations.dup _operations = [[:equal, 0, 0, 0, 0]] if _operations.empty? expand_edge_equal_operations!(_operations, context_size) group_window = context_size * 2 groups = [] group = [] _operations.each do |tag, from_start, from_end, to_start, to_end| if tag == :equal and from_end - from_start > group_window group << [tag, from_start, [from_end, from_start + context_size].min, to_start, [to_end, to_start + context_size].min] groups << group group = [] from_start = [from_start, from_end - context_size].max to_start = [to_start, to_end - context_size].max end group << [tag, from_start, from_end, to_start, to_end] end groups << group unless group.empty? groups end
longest_match(from_start, from_end, to_start, to_end)
click to toggle source
# File test-unit-3.3.4/lib/test/unit/diff.rb, line 21 def longest_match(from_start, from_end, to_start, to_end) best_info = find_best_match_position(from_start, from_end, to_start, to_end) unless @junks.empty? args = [from_start, from_end, to_start, to_end] best_info = adjust_best_info_with_junk_predicate(false, best_info, *args) best_info = adjust_best_info_with_junk_predicate(true, best_info, *args) end best_info end
operations()
click to toggle source
# File test-unit-3.3.4/lib/test/unit/diff.rb, line 39 def operations @operations ||= compute_operations end
ratio()
click to toggle source
# File test-unit-3.3.4/lib/test/unit/diff.rb, line 70 def ratio @ratio ||= compute_ratio end