Class: Citrus::Common::Remote::Backend::MsgRemote

Inherits:
Object
  • Object
show all
Defined in:
lib/citrus/common/remote/backend/msg_remote.rb

Overview

MsgRemote

Instance Method Summary collapse

Constructor Details

#initialize(app) ⇒ MsgRemote

Create a new remote message service

Parameters:

  • app (Object)


25
26
27
# File 'lib/citrus/common/remote/backend/msg_remote.rb', line 25

def initialize app
  @app = app
end

Instance Method Details

#forwardMessage(msg, session, &block) ⇒ Object

Forward message from frontend server

Parameters:

  • msg (Hash)
  • session (Object)


33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/citrus/common/remote/backend/msg_remote.rb', line 33

def forwardMessage msg, session, &block
  server = @app.components['server']
  session_service = @app.components['backend_session'].service

  unless server
    block_given? and yield Exception.new 'server component not enabled'
    return
  end

  unless session_service
    block_given? and yield Exception.new 'backend session component not enabled'
    return
  end

  backend_session = session_service.create session

  server.handle(msg, backend_session) { |err, resp, args|
    block_given? and yield err, resp, args
  }
end