Class: Lanes::API::PubSub

Inherits:
Object
  • Object
show all
Defined in:
lib/lanes/api/pub_sub.rb

Class Method Summary collapse

Class Method Details

.initialize(api = nil) ⇒ Object



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/lanes/api/pub_sub.rb', line 13

def self.initialize(api=nil)
    #return unless Extensions.require_pub_sub?
    Lanes.config.get(:environment) do | env |
        MessageBus.logger = Lanes.logger
    end

    require "oj"
    require_relative "updates"
    require 'message_bus'
    api.use MessageBus::Rack::Middleware if api

    if defined?(::PhusionPassenger)
        PhusionPassenger.on_event(:starting_worker_process) do |forked|
            MessageBus.after_fork if forked
        end
    end

    Updates.relay!

    ::Lanes::API.routes.draw do
        post '/file-change.json' do
            ::Lanes::API::PubSub.publish("/file-change", data)
            "OK"
        end
    end

end

.publish(channel, data) ⇒ Object



8
9
10
11
# File 'lib/lanes/api/pub_sub.rb', line 8

def self.publish(channel, data)
    Lanes.logger.debug "publishing on: #{channel}"
    ::MessageBus.publish channel, data
end