Class: Adhearsion::Asterisk::CallControllerMethods::GenerateSilenceProxy
- Inherits:
-
Object
- Object
- Adhearsion::Asterisk::CallControllerMethods::GenerateSilenceProxy
show all
- Defined in:
- lib/adhearsion/asterisk/call_controller_methods.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
Returns a new instance of GenerateSilenceProxy.
440
441
442
|
# File 'lib/adhearsion/asterisk/call_controller_methods.rb', line 440
def initialize(target)
@_target = target
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(*args) ⇒ Object
444
445
446
447
448
|
# File 'lib/adhearsion/asterisk/call_controller_methods.rb', line 444
def method_missing(*args)
@_target.send(*args).tap do
@_target.generate_silence
end
end
|
Class Method Details
.proxy_for(target, &block) ⇒ Object
429
430
431
432
433
434
435
436
437
438
|
# File 'lib/adhearsion/asterisk/call_controller_methods.rb', line 429
def self.proxy_for(target, &block)
proxy = new(target)
ivs = target.instance_variables
ivs.each { |iv| proxy.instance_variable_set iv, target.instance_variable_get(iv) }
proxy.instance_eval(&block).tap do
ivs = proxy.instance_variables - [:@_target]
ivs.each { |iv| target.instance_variable_set iv, proxy.instance_variable_get(iv) }
end
end
|
Instance Method Details
#respond_to_missing?(*args) ⇒ Boolean
450
451
452
|
# File 'lib/adhearsion/asterisk/call_controller_methods.rb', line 450
def respond_to_missing?(*args)
@_target.respond_to?(*args)
end
|