Class: Arrest::ResourceProxy
- Inherits:
-
Object
- Object
- Arrest::ResourceProxy
- Defined in:
- lib/arrest/transport/resource_proxy.rb
Overview
Forwards context as first parameter to every method call of the proxied class
Instance Method Summary collapse
-
#initialize(resource, context_provider) ⇒ ResourceProxy
constructor
A new instance of ResourceProxy.
- #load(*args) ⇒ Object
- #method_missing(*args, &block) ⇒ Object
Constructor Details
#initialize(resource, context_provider) ⇒ ResourceProxy
Returns a new instance of ResourceProxy.
6 7 8 9 |
# File 'lib/arrest/transport/resource_proxy.rb', line 6 def initialize(resource, context_provider) @resource = resource @context_provider = context_provider end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(*args, &block) ⇒ Object
11 12 13 14 15 |
# File 'lib/arrest/transport/resource_proxy.rb', line 11 def method_missing(*args, &block) params = [@context_provider.get_context] params += args.drop(1) @resource.send(args.first, *params) end |
Instance Method Details
#load(*args) ⇒ Object
17 18 19 20 |
# File 'lib/arrest/transport/resource_proxy.rb', line 17 def load(*args) ext = [@context_provider.get_context] + args @resource.load(*ext) end |