Sha256: 0cbf021cab46d79f445d39be338ffef78850efbee465af358b20289d08bf16d5

Contents?: true

Size: 594 Bytes

Versions: 18

Compression:

Stored size: 594 Bytes

Contents

module Ridley
  # @author Jamie Winsor <jamie@vialstudios.com>
  # @api private
  class ChainLink
    attr_reader :parent
    attr_reader :child

    # @param [Class, Object] parent
    #   the parent class or object to send to the child
    # @param [Class, Object] child
    #   the child class or instance to delegate functions to
    def initialize(parent, child)
      @parent = parent
      @child  = child
    end

    def new(*args)
      child.send(:new, parent, *args)
    end

    def method_missing(fun, *args, &block)
      child.send(fun, parent, *args, &block)
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
ridley-0.8.3 lib/ridley/chain_link.rb
ridley-0.8.2 lib/ridley/chain_link.rb
ridley-0.8.1 lib/ridley/chain_link.rb
ridley-0.8.0 lib/ridley/chain_link.rb
ridley-0.7.0 lib/ridley/chain_link.rb
ridley-0.7.0.rc4 lib/ridley/chain_link.rb
ridley-0.7.0.rc3 lib/ridley/chain_link.rb
ridley-0.7.0.rc1 lib/ridley/chain_link.rb
ridley-0.7.0.beta lib/ridley/chain_link.rb
ridley-0.6.3 lib/ridley/chain_link.rb
ridley-0.6.2 lib/ridley/chain_link.rb
ridley-0.6.1 lib/ridley/chain_link.rb
ridley-0.6.0 lib/ridley/chain_link.rb
ridley-0.5.2 lib/ridley/chain_link.rb
ridley-0.5.1 lib/ridley/chain_link.rb
ridley-0.5.0 lib/ridley/chain_link.rb
ridley-0.4.1 lib/ridley/chain_link.rb
ridley-0.4.0 lib/ridley/chain_link.rb