class Patme::Implementation
Public Class Methods
new(method_obj, args)
click to toggle source
# File lib/patme/implementation.rb, line 4 def initialize(method_obj, args) @method_proc = method_obj @args = args end
Public Instance Methods
call(object, args)
click to toggle source
# File lib/patme/implementation.rb, line 16 def call(object, args) @method_proc.bind(object).call(*args) end
match?(given_args)
click to toggle source
# File lib/patme/implementation.rb, line 9 def match?(given_args) required_args = @args.reject(&:optional?) (required_args.size..@args.size).cover?(given_args.size)\ && required_args == given_args.first(required_args.size) end