Class: PipeRpc::Server

Inherits:
BasicInterface show all
Defined in:
lib/pipe_rpc/server.rb

Direct Known Subclasses

SubjectServer

Constant Summary collapse

TRANSPORT_PREFIX =
"__rpc_server__"

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BasicInterface

add_instance_eval, const_missing, instance_eval_for, remove_instance_eval

Class Method Details

.from_rpc_transport(gateway, transport) ⇒ Object



32
33
34
35
# File 'lib/pipe_rpc/server.rb', line 32

def from_rpc_transport(gateway, transport)
  server = gateway.servers[transport.sub(Client::TRANSPORT_PREFIX, '').to_sym]
  SubjectServer.from_rpc_transport(gateway, server)
end

Instance Method Details

#__rpc_server_class_name__Object



8
9
10
# File 'lib/pipe_rpc/server.rb', line 8

def __rpc_server_class_name__
  __class__.to_s
end

#__rpc_server_id__Object



16
17
18
# File 'lib/pipe_rpc/server.rb', line 16

def __rpc_server_id__
  @__rpc_server_id__ ||= [__rpc_server_class_name__, *__rpc_server_instance_id__].join('#').to_sym
end

#__rpc_server_instance_id__Object



12
13
14
# File 'lib/pipe_rpc/server.rb', line 12

def __rpc_server_instance_id__
  __id__.to_s
end

#inspectObject Also known as: to_s



20
21
22
# File 'lib/pipe_rpc/server.rb', line 20

def inspect
  __rpc_server_id__
end

#to_rpc_transport(gateway) ⇒ Object



25
26
27
28
# File 'lib/pipe_rpc/server.rb', line 25

def to_rpc_transport(gateway)
  gateway.servers.add(self) unless gateway.servers.registered? __rpc_server_id__
  "#{TRANSPORT_PREFIX}#{__rpc_server_id__}"
end