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