class Buschtelefon::Brain
Attributes
capacity[R]
Public Class Methods
new(capacity = nil)
click to toggle source
# File lib/buschtelefon/brain.rb, line 5 def initialize(capacity = nil) @capacity = capacity @gossip_sink = [] end
Public Instance Methods
<<(gossip)
click to toggle source
# File lib/buschtelefon/brain.rb, line 10 def <<(gossip) @gossip_sink << gossip reorganize end
contains?(gossip)
click to toggle source
# File lib/buschtelefon/brain.rb, line 20 def contains?(gossip) @gossip_sink.include?(gossip) end
load_batch(gossips)
click to toggle source
# File lib/buschtelefon/brain.rb, line 15 def load_batch(gossips) @gossip_sink += gossips reorganize end
to_a()
click to toggle source
# File lib/buschtelefon/brain.rb, line 24 def to_a @gossip_sink end
Private Instance Methods
reorganize()
click to toggle source
# File lib/buschtelefon/brain.rb, line 30 def reorganize @gossip_sink.sort! { |x, y| y.created_at <=> x.created_at } @gossip_sink.uniq!(&:message) if @capacity @gossip_sink.slice!(capacity..-1) # only keep the newest end end