Module: Dashboard::Routing::REST::Overview

Defined in:
lib/rubyneat_dashboard/overview_rest.rb

Class Method Summary collapse

Class Method Details

.registered(app) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/rubyneat_dashboard/overview_rest.rb', line 7

def self.registered(app)
  app.get '/data/overview' do
    status 200
    {
      app:     'RubyNEAT Dashboard',
      project: '[[neater project name goes here]]',
      date:    Date.today(),
      version: SemVer.find.format("%M.%m.%p%s"),
    }.to_json
  end

  app.get '/data/status' do
    unless request.websocket?
      {
          status: 'NIY'
      }.to_json
    else
      request.websocket do |ws|
        ws.onopen do
          ws.send 'Status Socket Opened'
          settings.sockets << ws
        end
        ws.onmessage do |msg|
          EM.next_tick { settings.sockets.each{|s| s.send(msg)}}
        end
        ws.onclose do
          warn('websocket is closed')
          settings.sockets.delete(ws)
        end
      end
    end
  end
end