Class: TRMNLP::App

Inherits:
Sinatra::Base
  • Object
show all
Defined in:
lib/trmnlp/app.rb

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ App

Returns a new instance of App.



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/trmnlp/app.rb', line 28

def initialize(*args)
  super

  @context = settings.context
  @poller = @context.poller
  @renderer = @context.renderer
  @user_data_assembler = @context.user_data_assembler
  @transform_pipeline = @context.transform_pipeline
  @watcher = @context.watcher
  @screenshot = Screenshot.new(pool: settings.browser_pool)

  @poller.poll_data

  @watcher.start if @context.config.project.live_render?

  @live_reload_clients = []
  @watcher.on_change do |view, user_data|
    payload = {
      'type' => 'reload',
      'view' => view,
      'user_data' => user_data
    }
    message = "data: #{payload.to_json}\n\n"
    @live_reload_clients.each { |queue| queue << message }
  end
end