Class: ApipieDSL::Validator::ArrayValidator
Instance Attribute Summary
#param_description
Class Method Summary
collapse
Instance Method Summary
collapse
#==, #docs, find, inherited, #inspect, #inspected_fields, #merge_with, #sub_params, #to_s, #valid?
Constructor Details
#initialize(param_description, argument, options = {}) ⇒ ArrayValidator
Returns a new instance of ArrayValidator.
186
187
188
189
190
191
|
# File 'lib/apipie_dsl/validator.rb', line 186
def initialize(param_description, argument, options = {})
super(param_description)
@type = argument
@items_type = options[:of]
@items_enum = options[:in]
end
|
Class Method Details
.build(param_description, argument, options, block) ⇒ Object
193
194
195
196
197
|
# File 'lib/apipie_dsl/validator.rb', line 193
def self.build(param_description, argument, options, block)
return if argument != Array || block.is_a?(Proc)
new(param_description, argument, options)
end
|
Instance Method Details
#description ⇒ Object
210
211
212
|
# File 'lib/apipie_dsl/validator.rb', line 210
def description
"Must be an array of #{items_type}"
end
|
#expected_type ⇒ Object
214
215
216
|
# File 'lib/apipie_dsl/validator.rb', line 214
def expected_type
'array'
end
|
#process_value(values) ⇒ Object
206
207
208
|
# File 'lib/apipie_dsl/validator.rb', line 206
def process_value(values)
values || []
end
|
#validate(values) ⇒ Object
199
200
201
202
203
204
|
# File 'lib/apipie_dsl/validator.rb', line 199
def validate(values)
return false unless process_value(values).respond_to?(:each) &&
!process_value(values).is_a?(String)
process_value(values).all? { |v| validate_item(v) }
end
|