Module: XKoon::Proxy
- Defined in:
- lib/xkoon/proxy.rb
Overview
Proxy Module: Provides transparent proxying of methods to a Peer.
Defined Under Namespace
Classes: Base
Class Method Summary collapse
-
.for_peer(peer, handler = XKoon::Handler) ⇒ Object
Create Proxy for Peer: Creates a new Base proxy object around a given peer and optional handler.
-
.method_missing(name, *args) ⇒ Object
Method Missing: Proxy all method calls into requests to the Service Peer.
Class Method Details
.for_peer(peer, handler = XKoon::Handler) ⇒ Object
Create Proxy for Peer: Creates a new Base proxy object around a given peer and optional handler.
22 23 24 |
# File 'lib/xkoon/proxy.rb', line 22 def self.for_peer peer, handler = XKoon::Handler Base.new peer, handler end |
.method_missing(name, *args) ⇒ Object
Method Missing: Proxy all method calls into requests to the Service Peer.
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/xkoon/proxy.rb', line 28 def self.method_missing name, *args # Ensure we have at least a peer, handler and message raise "Missing arguments in call to [#{name}] (peer, handler, msg)" unless args.size >= 3 # Get Peer & Handler from Args peer = args.slice! 0 handler = args.slice! 0 # Acquire Payload msg = args.slice! 0 # Send Request handler.send_request peer, name, msg end |