class RSpec::SleepingKingStudios::Support::MethodSignature
@api private
Attributes
max_arguments[R]
min_arguments[R]
optional_keywords[R]
required_keywords[R]
Public Class Methods
new(method)
click to toggle source
# File lib/rspec/sleeping_king_studios/support/method_signature.rb, line 8 def initialize method parameters = method.parameters required = parameters.count { |type, _| :req == type } optional = parameters.count { |type, _| :opt == type } variadic = parameters.count { |type, _| :rest == type } @min_arguments = required @max_arguments = required + optional @unlimited_arguments = variadic > 0 required = parameters.select { |type, _| :keyreq == type }.map { |_, keyword| keyword } optional = parameters.select { |type, _| :key == type }.map { |_, keyword| keyword } variadic = parameters.count { |type, _| :keyrest == type } @required_keywords = required @optional_keywords = optional @any_keywords = variadic > 0 @block_argument = parameters.count { |type, _| :block == type } > 0 end
Public Instance Methods
any_keywords?()
click to toggle source
# File lib/rspec/sleeping_king_studios/support/method_signature.rb, line 35 def any_keywords? !!@any_keywords end
block_argument?()
click to toggle source
# File lib/rspec/sleeping_king_studios/support/method_signature.rb, line 39 def block_argument? !!@block_argument end
keywords()
click to toggle source
# File lib/rspec/sleeping_king_studios/support/method_signature.rb, line 43 def keywords @optional_keywords + @required_keywords end
unlimited_arguments?()
click to toggle source
# File lib/rspec/sleeping_king_studios/support/method_signature.rb, line 47 def unlimited_arguments? !!@unlimited_arguments end