class Buschtelefon::Tattler
Attributes
connections[R]
Public Class Methods
new()
click to toggle source
# File lib/buschtelefon/tattler.rb, line 5 def initialize @connections = [] @brain = Brain.new end
Public Instance Methods
connect(tattler)
click to toggle source
# File lib/buschtelefon/tattler.rb, line 18 def connect(tattler) @connections << tattler unless @connections.include?(tattler) end
feed(gossip)
click to toggle source
# File lib/buschtelefon/tattler.rb, line 22 def feed(gossip) old_gossip = @brain.contains?(gossip) @brain << gossip # refresh memory return if old_gossip @connections.each { |tattler| tattler.feed(gossip) } end
knowledge()
click to toggle source
# File lib/buschtelefon/tattler.rb, line 14 def knowledge @brain.to_a end
load_messages(messages)
click to toggle source
# File lib/buschtelefon/tattler.rb, line 10 def load_messages(messages) messages.each { |message| @brain << Gossip.new(message) } end
transfer_knowledge(tattler)
click to toggle source
# File lib/buschtelefon/tattler.rb, line 30 def transfer_knowledge(tattler) connect(tattler) knowledge.each { |gossip| tattler.feed(gossip) } end