Class: DiffTokenizer
- Inherits:
-
Object
- Object
- DiffTokenizer
- Defined in:
- lib/hangover/diff_tokenizer.rb
Instance Method Summary collapse
-
#initialize(text) ⇒ DiffTokenizer
constructor
A new instance of DiffTokenizer.
- #top(count, type) ⇒ Object
- #top_adds(count = 5) ⇒ Object
- #top_subs(count = 5) ⇒ Object
Constructor Details
#initialize(text) ⇒ DiffTokenizer
Returns a new instance of DiffTokenizer.
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/hangover/diff_tokenizer.rb', line 3 def initialize(text) lines = text.split("\n") add_lines = select_lines_starting_with(lines, '+') substract_lines = select_lines_starting_with(lines, '-') added_tokens = extract_tokens(add_lines) substracted_tokens = extract_tokens(substract_lines) cleaned_added_tokens = added_tokens - substracted_tokens.uniq cleaned_substracted_tokens = substracted_tokens - added_tokens.uniq @top = {} @top[:adds] = count_tokens(cleaned_added_tokens) @top[:subs] = count_tokens(cleaned_substracted_tokens) end |
Instance Method Details
#top(count, type) ⇒ Object
20 21 22 |
# File 'lib/hangover/diff_tokenizer.rb', line 20 def top(count, type) @top[type][0, count].map { |token_and_count| token_and_count.first } end |
#top_adds(count = 5) ⇒ Object
24 25 26 |
# File 'lib/hangover/diff_tokenizer.rb', line 24 def top_adds(count = 5) top(count, :adds) end |
#top_subs(count = 5) ⇒ Object
28 29 30 |
# File 'lib/hangover/diff_tokenizer.rb', line 28 def top_subs(count = 5) top(count, :subs) end |