class Method

Public Instance Methods

*(g) click to toggle source

Method composition.

@author Mike Burns

# File lib/core/facets/method/composition.rb, line 80
def *(g)
  Composition.new(self, g)
end
^(n) click to toggle source

Method repetition.

@author Mike Burns

# File lib/core/facets/method/composition.rb, line 87
def ^(n)
  if n < 2
    self
  else
    #Composition.new(self, self ^ (n-1))
    Composition.new( *([self] * n) )
  end
end
curry(*args) click to toggle source

Curry a Method into a new Proc.

# File lib/core/facets/method/curry.rb, line 6
def curry(*args)
  to_proc.curry(*args)
end
memoize(value) click to toggle source

Memoize a method by defining a singleton override.

NOTE: This method is not a common core extension and is not loaded automatically when using require 'facets'.

@uncommon

require 'facets/method/memoize'
# File lib/core/facets/method/memoize.rb, line 11
def memoize(value)
  singleton = (class << receiver; self; end)
  singleton.__send__(:define_method, name){ value }
end
partial(*args) click to toggle source

Convert a method into a new partial Proc.

# File lib/core/facets/method/partial.rb, line 6
def partial(*args)
  to_proc.partial(*args)
end
private?() click to toggle source

@return [Boolean]

Returns true if self encapsulates a private method.

@author Robert Gleeson

# File lib/core/facets/method/public.rb, line 29
def private?
  receiver.private_methods.include? name
end
protected?() click to toggle source

@return [Boolean]

Returns true if self encapsulates a protected method.

@author Robert Gleeson

# File lib/core/facets/method/public.rb, line 19
def protected?
  receiver.protected_methods.include? name
end
public?() click to toggle source

@return [Boolean]

Returns true if self encapsulates a public method.

@author Robert Gleeson

# File lib/core/facets/method/public.rb, line 9
def public?
  receiver.public_methods.include? name
end