Class: Wikiranger::Report
- Inherits:
-
Object
- Object
- Wikiranger::Report
- Defined in:
- lib/wikiranger/report.rb
Instance Method Summary collapse
- #generate(destination) ⇒ Object
-
#initialize(contributions) ⇒ Report
constructor
A new instance of Report.
Constructor Details
#initialize(contributions) ⇒ Report
Returns a new instance of Report.
3 4 5 6 7 8 9 10 11 12 13 |
# File 'lib/wikiranger/report.rb', line 3 def initialize(contributions) @contributions = contributions.sort_by { |c| c. }.reverse @contributors = contributions.map(&:user).uniq.sort_by { |ip| ip.split(".").map(&:to_i) } @pages = contributions.map { |c| [c.pageid, c.title] }.uniq.sort_by { |p| p.last } @contribs_per_contributor = @contributors.map do |c| [c, contributions.count { |contrib| contrib.user == c }] end.to_h @contribs_per_page = @pages.map do |p| [p.first, contributions.count { |contrib| contrib.pageid == p.first }] end.to_h end |
Instance Method Details
#generate(destination) ⇒ Object
15 16 17 18 19 20 21 |
# File 'lib/wikiranger/report.rb', line 15 def generate(destination) report = load_template b = binding File.open(destination, "w") do |f| f.write(report.result(b)) end end |