class Capataz::Proxy
Public Class Methods
new(obj, options = {})
click to toggle source
# File lib/capataz/proxy.rb, line 15 def initialize(obj, options = {}) @obj = obj if (@options = options || {})[:constant] && !Capataz.allowed_constant?(obj) fail "Illegal access to constant #{obj}" end end
Public Instance Methods
capataz_proxy?()
click to toggle source
# File lib/capataz/proxy.rb, line 46 def capataz_proxy? true end
capataz_slave()
click to toggle source
# File lib/capataz/proxy.rb, line 50 def capataz_slave @obj end
class()
click to toggle source
# File lib/capataz/proxy.rb, line 54 def class @obj.class end
is_a?(type)
click to toggle source
# File lib/capataz/proxy.rb, line 38 def is_a?(type) if type.capataz_proxy? @obj.is_a?(type.capataz_slave) else @obj.is_a?(type) end end
method(sym)
click to toggle source
# File lib/capataz/proxy.rb, line 22 def method(sym) if Capataz.instance_response_to?(@obj, symbol) @obj.method(sym) else nil end end
method_missing(symbol, *args, &block)
click to toggle source
# File lib/capataz/proxy.rb, line 30 def method_missing(symbol, *args, &block) if Capataz.instance_response_to?(@obj, symbol) @obj.send(symbol, *args, &block) else fail NoMethodError, "undefined method #{symbol} for #{@obj}" end end
respond_to?(*args)
click to toggle source
# File lib/capataz/proxy.rb, line 58 def respond_to?(*args) Capataz.instance_response_to?(@obj, *args) end