@@ -317,8 +317,8 @@ def build_stack(helpers)
317
317
end
318
318
319
319
def build_helpers
320
- helpers = namespace_stackable ( :helpers ) || [ ]
321
- Module . new { helpers . each { |mod_to_include | include mod_to_include } }
320
+ helpers = namespace_stackable ( :helpers )
321
+ Module . new { helpers & .each { |mod_to_include | include mod_to_include } }
322
322
end
323
323
324
324
private :build_stack , :build_helpers
@@ -344,11 +344,9 @@ def lazy_initialize!
344
344
end
345
345
end
346
346
347
- def run_validators ( validator_factories , request )
347
+ def run_validators ( validators , request )
348
348
validation_errors = [ ]
349
349
350
- validators = validator_factories . map { |options | Grape ::Validations ::ValidatorFactory . create_validator ( **options ) }
351
-
352
350
ActiveSupport ::Notifications . instrument ( 'endpoint_run_validators.grape' , endpoint : self , validators : validators , request : request ) do
353
351
validators . each do |validator |
354
352
validator . validate ( request )
@@ -366,34 +364,38 @@ def run_validators(validator_factories, request)
366
364
367
365
def run_filters ( filters , type = :other )
368
366
ActiveSupport ::Notifications . instrument ( 'endpoint_run_filters.grape' , endpoint : self , filters : filters , type : type ) do
369
- ( filters || [ ] ) . each { |filter | instance_eval ( &filter ) }
367
+ filters & .each { |filter | instance_eval ( &filter ) }
370
368
end
371
369
post_extension = DSL ::InsideRoute . post_filter_methods ( type )
372
370
extend post_extension if post_extension
373
371
end
374
372
375
373
def befores
376
- namespace_stackable ( :befores ) || [ ]
374
+ namespace_stackable ( :befores )
377
375
end
378
376
379
377
def before_validations
380
- namespace_stackable ( :before_validations ) || [ ]
378
+ namespace_stackable ( :before_validations )
381
379
end
382
380
383
381
def after_validations
384
- namespace_stackable ( :after_validations ) || [ ]
382
+ namespace_stackable ( :after_validations )
385
383
end
386
384
387
385
def afters
388
- namespace_stackable ( :afters ) || [ ]
386
+ namespace_stackable ( :afters )
389
387
end
390
388
391
389
def finallies
392
- namespace_stackable ( :finallies ) || [ ]
390
+ namespace_stackable ( :finallies )
393
391
end
394
392
395
393
def validations
396
- route_setting ( :saved_validations ) || [ ]
394
+ return enum_for ( :validations ) unless block_given?
395
+
396
+ route_setting ( :saved_validations ) &.each do |saved_validation |
397
+ yield Grape ::Validations ::ValidatorFactory . create_validator ( **saved_validation )
398
+ end
397
399
end
398
400
399
401
def options?
0 commit comments