Module: Wongi::Engine::NetworkParts::Collectable

Included in:
Wongi::Engine::Network
Defined in:
lib/wongi-engine/network/collectable.rb

Instance Method Summary collapse

Instance Method Details

#add_collector(collector, name) ⇒ Object



17
18
19
# File 'lib/wongi-engine/network/collectable.rb', line 17

def add_collector(collector, name)
  collectors(name) << collector
end

#add_error_collectorObject



21
22
23
# File 'lib/wongi-engine/network/collectable.rb', line 21

def add_error_collector
  add_collector collector, :error
end

#collected_tokens(name) ⇒ Object



33
34
35
# File 'lib/wongi-engine/network/collectable.rb', line 33

def collected_tokens(name)
  collectors(name).map { |collector| collector.production.tokens }.flatten
end

#collection(name) ⇒ Object



25
26
27
# File 'lib/wongi-engine/network/collectable.rb', line 25

def collection(name)
  collectors(name).map(&:default_collect).flatten.uniq
end

#collectors(name = nil) ⇒ Object



4
5
6
7
8
9
10
11
# File 'lib/wongi-engine/network/collectable.rb', line 4

def collectors(name = nil)
  @collectors ||= {}
  if name
    @collectors[name] ||= []
  else
    @collectors
  end
end

#error_collectorsObject



13
14
15
# File 'lib/wongi-engine/network/collectable.rb', line 13

def error_collectors
  collectors :error
end

#errorsObject



29
30
31
# File 'lib/wongi-engine/network/collectable.rb', line 29

def errors
  error_collectors.map(&:errors).flatten
end