Class: Conquer::Container::Worker

Inherits:
Object
  • Object
show all
Includes:
Celluloid, Celluloid::Notifications
Defined in:
lib/conquer/container.rb

Direct Known Subclasses

Scroller::Worker

Instance Method Summary collapse

Constructor Details

#initialize(topic, child_topics) ⇒ Worker

Returns a new instance of Worker.



10
11
12
13
14
15
16
17
18
# File 'lib/conquer/container.rb', line 10

def initialize(topic, child_topics)
  @topic = topic
  @child_content = {}

  child_topics.each do |child_topic|
    @child_content[child_topic] = ''
    subscribe(child_topic, :update_child_content)
  end
end

Instance Method Details

#update_child_content(topic, content) ⇒ Object



20
21
22
23
24
25
# File 'lib/conquer/container.rb', line 20

def update_child_content(topic, content)
  old_content = @child_content[topic]
  return if content == old_content
  @child_content[topic] = content
  publish(@topic, render(@child_content))
end