Class: Textus::Workflow::Publisher

Inherits:
Object
  • Object
show all
Defined in:
lib/textus/workflow/publisher.rb

Instance Method Summary collapse

Constructor Details

#initialize(container:, call:) ⇒ Publisher

Returns a new instance of Publisher.



4
5
6
7
8
# File 'lib/textus/workflow/publisher.rb', line 4

def initialize(container:, call:)
  @container    = container
  @call         = call
  @store_engine = container.store_engine
end

Instance Method Details

#publish(key, data, ctx, definition) ⇒ Object



10
11
12
13
14
15
16
17
18
# File 'lib/textus/workflow/publisher.rb', line 10

def publish(key, data, ctx, definition)
  definition.publish_targets.each { |t| publish_one(key, data, ctx, target: t) }

  write_to_key(definition.save_to, data, ctx) if definition.save_to

  definition.notify_keys.each { |nk| notify_key(nk, ctx) }

  definition.publish_block&.call(data, ctx)
end