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 |