Class: Grape::Validations::Types::CustomTypeCollectionCoercer
- Inherits:
-
CustomTypeCoercer
- Object
- CustomTypeCoercer
- Grape::Validations::Types::CustomTypeCollectionCoercer
- Defined in:
- lib/grape/validations/types/custom_type_collection_coercer.rb
Overview
See CustomTypeCoercer for details on types that will be supported by this by this coercer. This coercer works in the same way as CustomTypeCoercer
except that it expects to receive an array of strings to coerce and will return an array (or optionally, a set) of coerced values.
CustomTypeCoercer
is already capable of providing type checking for arrays where an independent coercion method is supplied. As such, CustomTypeCollectionCoercer
does not allow for such a method to be supplied independently of the type.
Instance Method Summary collapse
-
#call(value) ⇒ Array, Set
Coerces the given value.
-
#initialize(type, set = false) ⇒ CustomTypeCollectionCoercer
constructor
A new coercer for collections of the given type.
Methods inherited from CustomTypeCoercer
Constructor Details
#initialize(type, set = false) ⇒ CustomTypeCollectionCoercer
A new coercer for collections of the given type.
32 33 34 35 |
# File 'lib/grape/validations/types/custom_type_collection_coercer.rb', line 32 def initialize(type, set = false) super(type) @set = set end |
Instance Method Details
#call(value) ⇒ Array, Set
Coerces the given value.
42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/grape/validations/types/custom_type_collection_coercer.rb', line 42 def call(value) coerced = value.map do |item| coerced_item = super(item) return coerced_item if coerced_item.is_a?(InvalidValue) coerced_item end @set ? Set.new(coerced) : coerced end |