methods/discarded_method_object.rb
tests/_examples/methods/discarded_method_object.rb in the metorex repository.
class Ledger
def record(entry, amount = 0) = [entry, amount]
end
class Holder
def initialize(object) = @object = object
def handle = @object.method(:record)
def handle_proc = proc { |required| required }
def handle_lambda = ->(required) { required }
def discards_a_method
handle
:done
end
def discards_a_proc
handle_proc
:done
end
def discards_a_lambda
handle_lambda
:done
end
end
holder = Holder.new(Ledger.new)
p holder.discards_a_method
p holder.discards_a_proc
p holder.discards_a_lambda
def greet = puts("hello")
greet
held = method(:greet)
held
puts "a Method held in a local is not called"
Output:
:done
:done
:done
hello
a Method held in a local is not called