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
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