Method objects. CoverHound wanted to specify method names sometimes, so we spun this off.
require 'procto'
class Greeter
include Procto.call
def initialize(text)
@text = text
end
def call
"Hello #{text}"
end
private
attr_reader :text
end
Greeter.call('world') # => "Hello world"
class Printer
include Procto.call(:print)
def initialize(text)
@text = text
end
def print
"Hello #{text}"
end
private
attr_reader :text
end
# Both methods are available:
Printer.call('world') # => "Hello world"
Printer.print('world') # => "Hello world"Copyright © 2026 CoverHound. See LICENSE for details.