Class: ConvenientService::Common::Plugins::HasInstanceProxy::Entities::InstanceProxy

Inherits:
Object
  • Object
show all
Defined in:
lib/convenient_service/common/plugins/has_instance_proxy/entities/instance_proxy.rb

Instance Method Summary collapse

Constructor Details

#initialize(target:) ⇒ void

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Parameters:

  • target (Object)

    Can be any type.



20
21
22
# File 'lib/convenient_service/common/plugins/has_instance_proxy/entities/instance_proxy.rb', line 20

def initialize(target:)
  @__convenient_service_instance_proxy_target__ = target
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missingObject (private)

Returns Can be any type.

Returns:

  • (Object)

    Can be any type.



82
83
84
# File 'lib/convenient_service/common/plugins/has_instance_proxy/entities/instance_proxy.rb', line 82

def method_missing(...)
  ::ConvenientService.reraise { instance_proxy_target.public_send(...) }
end

Instance Method Details

#==(other) ⇒ Boolean?

Parameters:

  • other (Object)

    Can be any type.

Returns:

  • (Boolean, nil)


51
52
53
54
55
56
57
# File 'lib/convenient_service/common/plugins/has_instance_proxy/entities/instance_proxy.rb', line 51

def ==(other)
  return unless other.instance_of?(instance_proxy_class)

  return false if instance_proxy_target != other.instance_proxy_target

  true
end

#classClass

Returns:

  • (Class)


41
42
43
# File 'lib/convenient_service/common/plugins/has_instance_proxy/entities/instance_proxy.rb', line 41

def class
  instance_proxy_target.class
end

#instance_proxy_classClass

Returns:

  • (Class)


36
# File 'lib/convenient_service/common/plugins/has_instance_proxy/entities/instance_proxy.rb', line 36

alias_method :instance_proxy_class, :class

#instance_proxy_targetObject

Returns Can be any type.

Returns:

  • (Object)

    Can be any type.



29
30
31
# File 'lib/convenient_service/common/plugins/has_instance_proxy/entities/instance_proxy.rb', line 29

def instance_proxy_target
  @__convenient_service_instance_proxy_target__
end