Module: Commiti::DiffSummarizer::FallbackBuilder
- Included in:
- Commiti::DiffSummarizer
- Defined in:
- lib/services/diff_summarization/fallback_builder.rb
Instance Method Summary collapse
Instance Method Details
#fallback_summary(diff, chunks: nil) ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/services/diff_summarization/fallback_builder.rb', line 13 def fallback_summary(diff, chunks: nil) parsed_chunks = chunks || Commiti::DiffParser.split_by_file(diff) files = file_stats_for(parsed_chunks) return diff.to_s[0, FALLBACK_BYTES] if files.empty? render_fallback_summary(files) end |
#mechanical_summary(diff) ⇒ Object
6 7 8 9 10 11 |
# File 'lib/services/diff_summarization/fallback_builder.rb', line 6 def mechanical_summary(diff) additions = diff.to_s.each_line.count { |line| line.start_with?('+') && !line.start_with?('+++') } deletions = diff.to_s.each_line.count { |line| line.start_with?('-') && !line.start_with?('---') } hunks = diff.to_s.each_line.count { |line| line.start_with?('@@') } "- #{additions} additions, #{deletions} deletions across #{hunks} hunk(s)" end |