class Decors::DecoratorBase

Attributes

decorated_class[R]
decorated_method[R]
decorator_args[R]
decorator_block[R]
decorator_kwargs[R]
undecorated_method[R]

Public Class Methods

new(decorated_class, undecorated_method, decorated_method, *args, **kwargs, &block) click to toggle source
# File lib/decors/decorator_base.rb, line 8
def initialize(decorated_class, undecorated_method, decorated_method, *args, **kwargs, &block)
  @decorated_class = decorated_class
  @undecorated_method = undecorated_method
  @decorated_method = decorated_method
  @decorator_args = args
  @decorator_kwargs = kwargs
  @decorator_block = block
end

Public Instance Methods

call(instance, *args, **kwargs, &block) click to toggle source
# File lib/decors/decorator_base.rb, line 17
def call(instance, *args, **kwargs, &block)
  undecorated_call(instance, *args, **kwargs, &block)
end
decorated_method_name() click to toggle source
# File lib/decors/decorator_base.rb, line 25
def decorated_method_name
  decorated_method.name
end
undecorated_call(instance, *args, **kwargs, &block) click to toggle source
# File lib/decors/decorator_base.rb, line 21
def undecorated_call(instance, *args, **kwargs, &block)
  undecorated_method.bind(instance).call(*args, **kwargs, &block)
end