class FindMostActiveReader

Attributes

library[R]
max_taken_books_num[R]
most_active_reader[R]

Public Class Methods

new(library) click to toggle source
# File lib/find_most_active_reader.rb, line 5
def initialize(library)
  @library = library
  @max_taken_books_num = 0
  @most_active_reader = nil
end

Public Instance Methods

perform() click to toggle source
# File lib/find_most_active_reader.rb, line 11
def perform
  find_the_most_active_reader
  self
end

Private Instance Methods

find_the_most_active_reader() click to toggle source
# File lib/find_most_active_reader.rb, line 18
def find_the_most_active_reader
  frequency_hash = Hash.new { |hash, key| hash[key] = 0 }
  library.orders.each do |order|
    frequency_hash[order.reader] += 1
    if frequency_hash[order.reader] > @max_taken_books_num
      @most_active_reader = order.reader
      @max_taken_books_num = frequency_hash[order.reader]
    end
  end
end