Class: Sinatra::API::ParameterValidator

Inherits:
Object
  • Object
show all
Defined in:
lib/sinatra/api/parameter_validator.rb

Direct Known Subclasses

FloatValidator, IntegerValidator, StringValidator

Class Attribute Summary collapse

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*typenames) ⇒ ParameterValidator

Returns a new instance of ParameterValidator.



5
6
7
8
# File 'lib/sinatra/api/parameter_validator.rb', line 5

def initialize(*typenames)
  self.typenames = typenames.flatten
  super()
end

Class Attribute Details

.apiObject

Returns the value of attribute api.



25
26
27
# File 'lib/sinatra/api/parameter_validator.rb', line 25

def api
  @api
end

.validatorsObject

Returns the value of attribute validators.



25
26
27
# File 'lib/sinatra/api/parameter_validator.rb', line 25

def validators
  @validators
end

Instance Attribute Details

#typenamesObject

Returns the value of attribute typenames.



3
4
5
# File 'lib/sinatra/api/parameter_validator.rb', line 3

def typenames
  @typenames
end

Class Method Details

.install(api) ⇒ Object



27
28
29
30
31
32
# File 'lib/sinatra/api/parameter_validator.rb', line 27

def install(api)
  self.api = api
  self.api.on :parameter_parsed, &method(:run_validators!)

  install_validators
end

Instance Method Details

#validate(value, options = {}) ⇒ String, Any

Validate a given parameter value.

Parameters:

  • value (Any)

    The parameter value to validate.

  • options (Hash) (defaults to: {})

    Custom validator options defined by the user.

Returns:

  • (String)

    Error message if the parameter value is invalid.

  • (Any)

    Any other value means the parameter is valid.

Raises:

  • (NotImplementedError)


20
21
22
# File 'lib/sinatra/api/parameter_validator.rb', line 20

def validate(value, options = {})
  raise NotImplementedError
end