Class | Ohcount::LocDeltaList |
In: |
lib/ohcount/loc_delta_list.rb
|
Parent: | Object |
Tracks changes to lines of code, comments, and blanks for multiple languages
loc_deltas | [RW] |
# File lib/ohcount/loc_delta_list.rb, line 6 def initialize(loc_deltas=[]) @loc_deltas = loc_deltas end
# File lib/ohcount/loc_delta_list.rb, line 18 def +(addend) case addend when LocDelta add_loc_delta(addend) else raise ArgumentError.new end end
# File lib/ohcount/loc_delta_list.rb, line 82 def ==(b) return false unless b return false unless languages == b.languages self.languages.each do |l| return false unless self.loc_delta(l) == b.loc_delta(l) end true end
# File lib/ohcount/loc_delta_list.rb, line 27 def add_loc_delta(addend) existing = loc_delta(addend.language) if existing existing += addend else @loc_deltas << addend end self end
# File lib/ohcount/loc_delta_list.rb, line 53 def blanks_added @loc_deltas.inject(0) { |sum, delta| sum + delta.blanks_added } end
# File lib/ohcount/loc_delta_list.rb, line 57 def blanks_removed @loc_deltas.inject(0) { |sum, delta| sum + delta.blanks_removed } end
# File lib/ohcount/loc_delta_list.rb, line 37 def code_added @loc_deltas.inject(0) { |sum, delta| sum + delta.code_added } end
# File lib/ohcount/loc_delta_list.rb, line 41 def code_removed @loc_deltas.inject(0) { |sum, delta| sum + delta.code_removed } end
# File lib/ohcount/loc_delta_list.rb, line 45 def comments_added @loc_deltas.inject(0) { |sum, delta| sum + delta.comments_added } end
# File lib/ohcount/loc_delta_list.rb, line 49 def comments_removed @loc_deltas.inject(0) { |sum, delta| sum + delta.comments_removed } end
Returns a new LocDeltaList excluding all languages that have no changes
# File lib/ohcount/loc_delta_list.rb, line 78 def compact LocDeltaList.new(@loc_deltas.reject { |delta| !delta.changed? }) end
# File lib/ohcount/loc_delta_list.rb, line 14 def languages @loc_deltas.collect { |loc_delta| loc_delta.language } end
# File lib/ohcount/loc_delta_list.rb, line 10 def loc_delta(language) @loc_deltas.find { |loc_delta| loc_delta.language == language } end
# File lib/ohcount/loc_delta_list.rb, line 69 def net_blanks @loc_deltas.inject(0) { |sum, delta| sum + delta.net_blanks } end
# File lib/ohcount/loc_delta_list.rb, line 61 def net_code @loc_deltas.inject(0) { |sum, delta| sum + delta.net_code } end
# File lib/ohcount/loc_delta_list.rb, line 65 def net_comments @loc_deltas.inject(0) { |sum, delta| sum + delta.net_comments } end