module Axiom::Aliasable

A mixin to allow inheritable aliases for methods to be added

Public Instance Methods

inheritable_alias(aliases) click to toggle source

Create aliases for each specified method

@example

inheritable_alias(:- => :difference)

@param [Hash{Symbol => Symbol}] aliases

the new and old methods to alias

@return [self]

@api public

# File lib/axiom/support/aliasable.rb, line 19
def inheritable_alias(aliases)
  aliases.each { |methods| define_inheritable_alias_method(*methods) }
  self
end

Private Instance Methods

define_inheritable_alias_method(new_method, original_method) click to toggle source

Create a new method alias for the original method

@param [Symbol] new_method

@param [Symbol] original_method

@return [undefined]

@api private

# File lib/axiom/support/aliasable.rb, line 35
def define_inheritable_alias_method(new_method, original_method)
  define_method(new_method) do |*args, &block|
    public_send(original_method, *args, &block)
  end
end