Parses a spec file and finds the nearest example for a given line number.
# File lib/spec/runner/line_number_query.rb, line 27 27: def example_line_for(file, line_number) 28: determine_best_match(file, line_number) 29: best_match[:line] 30: end
# File lib/spec/runner/line_number_query.rb, line 12 12: def spec_name_for(file, line_number) 13: best_match.clear 14: file = File.expand_path(file) 15: determine_best_match(file, line_number) 16: if best_match[:example_group] 17: if best_match[:example] 18: "#{best_match[:example_group].description} #{best_match[:example].description}" 19: else 20: best_match[:example_group].description 21: end 22: else 23: nil 24: end 25: end
# File lib/spec/runner/line_number_query.rb, line 56 56: def consider_example_for_best_match(example, example_group, file, line_number) 57: example_file, example_line = parse_location(example.location) 58: if is_best_match?(file, line_number, example_file, example_line) 59: best_match.clear 60: best_match[:example_group] = example_group 61: best_match[:example] = example 62: best_match[:line] = example_line 63: end 64: end
# File lib/spec/runner/line_number_query.rb, line 47 47: def consider_example_group_for_best_match(example_group, file, line_number) 48: example_group_file, example_group_line = parse_location(example_group.location) 49: if is_best_match?(file, line_number, example_group_file, example_group_line) 50: best_match.clear 51: best_match[:example_group] = example_group 52: best_match[:line] = example_group_line 53: end 54: end
# File lib/spec/runner/line_number_query.rb, line 34 34: def determine_best_match(file, line_number) 35: best_match.clear 36: file = File.expand_path(file) 37: @run_options.example_groups.each do |example_group| 38: next unless example_group.location 39: consider_example_group_for_best_match(example_group, file, line_number) 40: 41: example_group.examples.each do |example| 42: consider_example_for_best_match(example, example_group, file, line_number) 43: end 44: end 45: end
# File lib/spec/runner/line_number_query.rb, line 66 66: def is_best_match?(file, line_number, example_file, example_line) 67: file == File.expand_path(example_file) && 68: example_line <= line_number && 69: example_line > best_match[:line].to_i 70: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.