Class: Smartest::ParameterExtractor
- Inherits:
-
Object
- Object
- Smartest::ParameterExtractor
- Defined in:
- lib/smartest/parameter_extractor.rb
Constant Summary collapse
- POSITIONAL_PARAMETER_TYPES =
%i[req opt rest].freeze
Class Method Summary collapse
Class Method Details
.required_keyword_names(block, usage:) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/smartest/parameter_extractor.rb', line 8 def required_keyword_names(block, usage:) raise ArgumentError, "block is required" unless block parameters = block.parameters positional = parameters.select { |type, _name| POSITIONAL_PARAMETER_TYPES.include?(type) } raise InvalidFixtureParameterError, (usage) if positional.any? parameters.filter_map do |type, name| name if type == :keyreq end end |