Class: PipeRpc::Hub::TransportMapper

Inherits:
Mapper show all
Defined in:
lib/pipe_rpc/hub_transport_mapper.rb

Instance Method Summary collapse

Methods inherited from Mapper

#map

Constructor Details

#initialize(hub) ⇒ TransportMapper



4
5
6
# File 'lib/pipe_rpc/hub_transport_mapper.rb', line 4

def initialize(hub)
  @hub = hub
end

Instance Method Details

#from_transport(object) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
# File 'lib/pipe_rpc/hub_transport_mapper.rb', line 18

def from_transport(object)
  map(object) do |value|
    if (value.is_a? String) and (value.start_with? Client::TRANSPORT_PREFIX)
      @hub.servers[value.sub(Client::TRANSPORT_PREFIX, '').to_sym]
    elsif (value.is_a? String) and (value.start_with? Server::TRANSPORT_PREFIX)
      @hub.clients[value.sub(Server::TRANSPORT_PREFIX, '').to_sym]
    else
      value
    end
  end
end

#to_transport(object) ⇒ Object



8
9
10
11
12
13
14
15
16
# File 'lib/pipe_rpc/hub_transport_mapper.rb', line 8

def to_transport(object)
  map(object) do |value|
    if value.respond_to? :to_rpc_transport
      value.to_rpc_transport(@hub)
    else
      value
    end
  end
end