class Aliasing::History

Attributes

by_frequency[RW]
entries[RW]

Public Class Methods

new(entries) click to toggle source
# File lib/aliasing/history.rb, line 6
def initialize(entries)
  @entries = entries
  @by_frequency = {}
  sort_by_frequency
end

Public Instance Methods

most_frequent(num) click to toggle source
# File lib/aliasing/history.rb, line 23
def most_frequent(num)
  Hash[@by_frequency[0..num-1]]
end
sort_by_frequency() click to toggle source
# File lib/aliasing/history.rb, line 12
def sort_by_frequency
  entries_with_freqency = {}
  
  @entries.each { |e| 
    entries_with_freqency[e] ||= 0
    entries_with_freqency[e] += 1
  }

  @by_frequency = entries_with_freqency.sort_by{|k,v| v}.reverse
end