Class: Method

Inherits:
Object show all
Defined in:
lib/mug/apply.rb,
lib/mug/iterator/method.rb

Instance Method Summary collapse

Instance Method Details

#apply(*args) ⇒ Object

Curries this Method and partially applies parameters. If a sufficient number of arguments are supplied, it passes the supplied arguments to the original proc and returns the result. Otherwise, returns another curried proc that takes the rest of arguments.



24
25
26
27
# File 'lib/mug/apply.rb', line 24

def apply(*args)
  n = arity < 0 ? -arity - 1 : arity
  curry(n).call(*args)
end

#to_iter(*args) ⇒ Object

Creates a new Iterator for this method, initially invoked on this method’s receiver.



9
10
11
12
13
# File 'lib/mug/iterator/method.rb', line 9

def to_iter *args
  Iterator.new(receiver) do |o|
    o.send(name, *args)
  end
end