class Nohoch::UserFileStats
Attributes
stats[R]
Public Class Methods
new()
click to toggle source
# File lib/nohoch.rb, line 112 def initialize @stats = {} end
Public Instance Methods
add(file_stat)
click to toggle source
# File lib/nohoch.rb, line 116 def add(file_stat) key = file_stat.user_id + file_stat.file if @stats[key] @stats[key].added += file_stat.added @stats[key].deleted += file_stat.deleted else @stats[key] = file_stat end end
all_top(n)
click to toggle source
# File lib/nohoch.rb, line 130 def all_top(n) result = {} files.each {|f| result[f] = top(f, n) } result end
files()
click to toggle source
# File lib/nohoch.rb, line 141 def files @stats.values.uniq { |file_stat| file_stat.file }.map {|file_stat| file_stat.file } end
top(file, n)
click to toggle source
# File lib/nohoch.rb, line 136 def top(file, n) user_stats(file).sort_by {|_, file_stat| -file_stat.added}[0..n-1].to_h.values end
user_stats(file)
click to toggle source
# File lib/nohoch.rb, line 126 def user_stats(file) @stats.select { |_, file_stat| file_stat.file == file } end
users()
click to toggle source
# File lib/nohoch.rb, line 145 def users @stats.values.uniq { |file_stat| file_stat.user_id }.map {|file_stat| file_stat.user } end