Class: LogAnalyser::Pageviews

Inherits:
Object
  • Object
show all
Defined in:
lib/pageviews.rb

Direct Known Subclasses

UniquePageviews

Constant Summary collapse

InvalidLogEntriesError =
Class.new(StandardError)

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.for(entries = {}) ⇒ Object



7
8
9
10
11
# File 'lib/pageviews.rb', line 7

def self.for(entries = {})
  new.generate_view_count(entries)
rescue StandardError
  raise InvalidLogEntriesError
end

Instance Method Details

#generate_view_count(entries) ⇒ Object



13
14
15
16
17
18
19
# File 'lib/pageviews.rb', line 13

def generate_view_count(entries)
  entries
    .transform_values(&:size)
    .sort_by(&:last)
    .reverse
    .to_h
end