class RG::Proxy

Attributes

objs[R]

Public Class Methods

new(mode, objs) click to toggle source
# File lib/rubygoods/proxy.rb, line 5
def initialize(mode, objs)
  case mode
  when :single
    p_init_single(objs)
  when :multiple
    p_init_multiple(objs)
  else
    fail ArgumentError, "Invalid mode"
  end
end

Public Instance Methods

method_missing(m, *args, &block) click to toggle source
# File lib/rubygoods/proxy.rb, line 29
def method_missing(m, *args, &block)  
  results = []
  @objs.each do |o|
    results << o.send(m, *args, &block)
  end
  results
end
p_eval(dat) click to toggle source
# File lib/rubygoods/proxy.rb, line 37
def p_eval(dat)
  results = []
  @objs.each do |o|
    results << o.instance_eval(dat)
  end
  results
end
p_init_multiple(objs) click to toggle source
# File lib/rubygoods/proxy.rb, line 20
def p_init_multiple(objs)
  init_single(objs) if objs.class != Array
  @objs = objs
  cl = @objs[0].class
  @objs.each do |o|
    fail(ArgumentError, "Objects' Classes are not same!") if (o.class != cl)
  end
end
p_init_single(obj) click to toggle source
# File lib/rubygoods/proxy.rb, line 16
def p_init_single(obj)
  @objs = [obj]
end
p_inspect() click to toggle source
# File lib/rubygoods/proxy.rb, line 45
def p_inspect()
  results = []
  @objs.each do |o|
    results << o.inspect
  end
  results
end