Class: Musa::Extension::DynamicProxy::DynamicProxy

Inherits:
Object
  • Object
show all
Includes:
DynamicProxyModule
Defined in:
lib/musa-dsl/core-ext/dynamic-proxy.rb

Overview

Concrete DynamicProxy class ready for instantiation.

Examples:

proxy = DynamicProxy.new
proxy.receiver = [1, 2, 3]
proxy.size      # => 3
proxy.first     # => 1
proxy.is_a?(Array)  # => true

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(receiver = nil) ⇒ DynamicProxy

Creates a new dynamic proxy.

Parameters:

  • receiver (Object, nil) (defaults to: nil)

    optional initial receiver object.



132
133
134
# File 'lib/musa-dsl/core-ext/dynamic-proxy.rb', line 132

def initialize(receiver = nil)
  @receiver = receiver
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Musa::Extension::DynamicProxy::DynamicProxyModule

Instance Attribute Details

#receiverObject?

The object to which methods are delegated.

Returns:

  • (Object, nil)

    current receiver.



139
140
141
# File 'lib/musa-dsl/core-ext/dynamic-proxy.rb', line 139

def receiver
  @receiver
end

Instance Method Details

#==(object) ⇒ Boolean Originally defined in module DynamicProxyModule

Delegates equality check to receiver or uses original.

Parameters:

  • object (Object)

    object to compare with.

Returns:

  • (Boolean)

    true if proxy or receiver equals object.

#_eql?Object Originally defined in module DynamicProxyModule

Preserve original eql? for internal use

#_equalequalObject Originally defined in module DynamicProxyModule

Preserve original == for internal use

#_instance_of?Object Originally defined in module DynamicProxyModule

Preserve original instance_of? for internal use

#_is_a?Object Originally defined in module DynamicProxyModule

Preserve original is_a? for internal use

#_kind_of?Object Originally defined in module DynamicProxyModule

Preserve original kind_of? for internal use

#eql?(object) ⇒ Boolean Originally defined in module DynamicProxyModule

Delegates eql? check to receiver or uses original.

Parameters:

  • object (Object)

    object to compare with.

Returns:

  • (Boolean)

    true if proxy or receiver eql? object.

#has_receiver?Boolean Originally defined in module DynamicProxyModule

Checks if the proxy has a receiver assigned.

Returns:

  • (Boolean)

    true if @receiver is not nil.

#instance_of?(klass) ⇒ Boolean Originally defined in module DynamicProxyModule

Delegates instance_of? check to receiver or uses original.

Parameters:

  • klass (Class)

    class to check against.

Returns:

  • (Boolean)

    true if proxy or receiver is instance of klass.

#is_a?(klass) ⇒ Boolean Originally defined in module DynamicProxyModule

Delegates is_a? check to receiver or uses original.

Parameters:

  • klass (Class)

    class to check against.

Returns:

  • (Boolean)

    true if proxy or receiver is instance of klass.

#kind_of?(klass) ⇒ Boolean Originally defined in module DynamicProxyModule

Delegates kind_of? check to receiver or uses original.

Parameters:

  • klass (Class)

    class to check against.

Returns:

  • (Boolean)

    true if proxy or receiver is kind of klass.

#respond_to_missing?(method_name, include_private) ⇒ Boolean Originally defined in module DynamicProxyModule

Declares which methods the proxy responds to.

Returns:

  • (Boolean)

    true if receiver responds to method, false otherwise.