Class: RubyEventStore::ProcessManager::BrowserExtension

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby_event_store/process_manager/browser_extension.rb

Constant Summary collapse

VIEWS_ROOT =
File.expand_path("views", __dir__).freeze
ASSETS_ROOT =
File.expand_path("public", __dir__).freeze

Instance Method Summary collapse

Instance Method Details

#assets_rootObject



13
# File 'lib/ruby_event_store/process_manager/browser_extension.rb', line 13

def assets_root = ASSETS_ROOT

#register_routes(router, context) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/ruby_event_store/process_manager/browser_extension.rb', line 15

def register_routes(router, context)
  router.add_route("GET", "/process_managers/:stream_name") do |params, urls|
    stream_name = params.fetch("stream_name")
    process_class, process_id = ProcessManager.parse_stream_name(stream_name)
    next context.not_found(urls) unless process_class

    replay = StateReplay.new(event_store: context.event_store).call(process_class, stream_name)
    context.render(
      "process_managers/show",
      urls: urls,
      stream_name: stream_name,
      process_class: process_class,
      process_id: process_id,
      steps: replay.steps,
      current_state: replay.current_state,
    )
  end
end


34
35
36
37
38
# File 'lib/ruby_event_store/process_manager/browser_extension.rb', line 34

def stream_links(stream_name, urls)
  return [] unless ProcessManager.parse_stream_name(stream_name)

  [{ label: "Process state", url: urls.app_url_for("process_managers", stream_name) }]
end

#views_rootObject



11
# File 'lib/ruby_event_store/process_manager/browser_extension.rb', line 11

def views_root = VIEWS_ROOT