Sha256: 3fc18f157477517f261248d3e6875f2bddb1a92c35498f25d7230c978e70fcd2

Contents?: true

Size: 461 Bytes

Versions: 7

Compression:

Stored size: 461 Bytes

Contents

class Delegator < BasicObject
  def initialize(obj)
    __setobj__(obj)
  end

  def method_missing(m, *args, &block)
    target = __getobj__

    if target.respond_to?(m)
      target.__send__(m, *args, &block)
    else
      super(m, *args, &block)
    end
  end
end

class SimpleDelegator < Delegator
  def __getobj__
    @delegate_sd_obj
  end

  def __setobj__(obj)
    @delegate_sd_obj = obj
  end
end

def DelegateClass(superklass)
  SimpleDelegator
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
opal-1.0.5 stdlib/delegate.rb
opal-1.0.4 stdlib/delegate.rb
opal-1.0.3 stdlib/delegate.rb
opal-1.0.2 stdlib/delegate.rb
opal-1.0.1 stdlib/delegate.rb
opal-1.0.0 stdlib/delegate.rb
opal-1.0.0.beta1 stdlib/delegate.rb