class ParameterTransformers::Proxy
Public Class Methods
new(target, transformers={})
click to toggle source
# File lib/parameter_transformers.rb, line 11 def initialize(target, transformers={}) @target, @transformers = target, transformers end
Public Instance Methods
method_missing(m, *args, &block)
click to toggle source
# File lib/parameter_transformers.rb, line 19 def method_missing(m, *args, &block) params = @target.method(m).parameters.map(&:last) t_args = args.dup params.each_with_index do |param, ix| if @transformers[[m, param]] && @transformers[[m, param]].kind_of?(Proc) t_args[ix] = @transformers[[m, param]].call(t_args[ix]) end end @target.send(m, *t_args, &block) end
respond_to?(symbol, include_priv=false)
click to toggle source
# File lib/parameter_transformers.rb, line 15 def respond_to?(symbol, include_priv=false) @target.respond_to?(symbol, include_priv) end