Class: Patme::Implementation
- Inherits:
-
Object
- Object
- Patme::Implementation
- Defined in:
- lib/patme/implementation.rb
Instance Method Summary collapse
- #call(object, args) ⇒ Object
-
#initialize(method_obj, args) ⇒ Implementation
constructor
A new instance of Implementation.
- #match?(given_args) ⇒ Boolean
Constructor Details
#initialize(method_obj, args) ⇒ Implementation
Returns a new instance of Implementation.
4 5 6 7 |
# File 'lib/patme/implementation.rb', line 4 def initialize(method_obj, args) @method_proc = method_obj @args = args end |
Instance Method Details
#call(object, args) ⇒ Object
16 17 18 |
# File 'lib/patme/implementation.rb', line 16 def call(object, args) @method_proc.bind(object).call(*args) end |
#match?(given_args) ⇒ Boolean
9 10 11 12 13 14 |
# 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 |