class RSpec::Fire::SupportArityMatcher
Constants
- INFINITY
Attributes
arity[R]
method[R]
Public Class Methods
new(arity)
click to toggle source
# File lib/rspec/fire/legacy.rb, line 9 def initialize(arity) @arity = arity end
Public Instance Methods
failure_message_for_should()
click to toggle source
# File lib/rspec/fire/legacy.rb, line 20 def failure_message_for_should "Wrong number of arguments for #{method.name}. " + "Expected #{arity_description}, got #{arity}." end
matches?(method)
click to toggle source
# File lib/rspec/fire/legacy.rb, line 15 def matches?(method) @method = method min_arity <= arity && arity <= max_arity end
Private Instance Methods
arity_description()
click to toggle source
# File lib/rspec/fire/legacy.rb, line 52 def arity_description return min_arity if min_arity == max_arity return "#{min_arity} or more" if max_arity == INFINITY "#{min_arity} to #{max_arity}" end
max_arity()
click to toggle source
# File lib/rspec/fire/legacy.rb, line 30 def max_arity params = method.parameters return INFINITY if params.any? { |(type, name)| type == :rest } # splat params.count { |(type, name)| type != :block } end
min_arity()
click to toggle source
# File lib/rspec/fire/legacy.rb, line 46 def min_arity return method.arity if method.arity >= 0 # ~ inverts the one's complement and gives us the number of required args ~method.arity end