class OpenApiAnnotator::TypeValidator
Public Instance Methods
validate!(type)
click to toggle source
# File lib/open_api_annotator/type_validator.rb, line 3 def validate!(type) if type.is_a?(Array) validate_as_collection_resource!(type) else validate_as_single_resource!(type) end end
Private Instance Methods
validate_as_collection_resource!(type)
click to toggle source
# File lib/open_api_annotator/type_validator.rb, line 13 def validate_as_collection_resource!(type) unless type.size == 1 raise ValidationError, "type array should have one element, but it has #{type.size}." end validate_as_single_resource!(type[0]) end
validate_as_single_resource!(type)
click to toggle source
# File lib/open_api_annotator/type_validator.rb, line 21 def validate_as_single_resource!(type) case type when Symbol unless type.in?(OpenApi::DataTypes.all_types) raise ValidationError, "type should be a symbol of: #{OpenApi::DataTypes.all_types.join(", ")}, but got #{type}." end when Class # pass when NilClass raise ValidationError, "type should not be nil." else raise ValidationError, "type is unexpected class #{type.class}." end end