class Rack::Validator
Attributes
invalid_params[R]
lazy_mode[RW]
messages[R]
missing_params[R]
params[R]
Public Class Methods
new(params, lazy_mode = true)
click to toggle source
# File lib/rack/validator/sinatra.rb, line 12 def initialize(params, lazy_mode = true) @params = params @invalid_params = [] @missing_params = [] @messages = [] @lazy_mode = lazy_mode end
Public Instance Methods
clean_parameters(all_parameters)
click to toggle source
# File lib/rack/validator/sinatra.rb, line 161 def clean_parameters(all_parameters) @params.each_key do |key| @params.delete key.to_s unless all_parameters.include? key.to_s end end
downcase(key)
click to toggle source
# File lib/rack/validator/sinatra.rb, line 28 def downcase(key) @params[key.to_s] = @params[key.to_s].to_s.downcase if @params[key.to_s] end
has_errors?()
click to toggle source
# File lib/rack/validator/sinatra.rb, line 20 def has_errors? @invalid_params.length > 0 or @missing_params.length > 0 end
is_boolean(key)
click to toggle source
# File lib/rack/validator/sinatra.rb, line 141 def is_boolean(key) if lazy_check_disabled key = key.to_s unless @params[key] == 'true' || @params[key] == 'false' @invalid_params.push(key) @messages.push(:name => key, :error => :NOT_BOOLEAN) end end end
is_email(key)
click to toggle source
# File lib/rack/validator/sinatra.rb, line 121 def is_email(key) if lazy_check_disabled key = key.to_s unless @params[key].to_s[/^\S+@\S+\.\S+$/] @invalid_params.push(key) @messages.push(:name => key, :error => :NOT_VALID_EMAIL) end end end
is_float(key)
click to toggle source
# File lib/rack/validator/sinatra.rb, line 56 def is_float(key) if lazy_check_disabled key = key.to_s value = @params[key] unless is_valid_float(value) @invalid_params.push(key) @messages.push(:name => key, :error => :NOT_FLOAT) end end end
is_greater_equal_than(min, key)
click to toggle source
# File lib/rack/validator/sinatra.rb, line 67 def is_greater_equal_than(min, key) if lazy_check_disabled key = key.to_s if !is_valid_float(@params[key]) if !@params[key] || @params[key].length < min @invalid_params.push(key) @messages.push(:name => key, :error => :LESS_THAN, :value => min) end else value = is_valid_integer(@params[key]) ? @params[key].to_i : @params[key].to_f if !value || value < min @invalid_params.push(key) @messages.push(:name => key, :error => :LESS_THAN, :value => min) end end end end
is_in_range(min, max, key)
click to toggle source
# File lib/rack/validator/sinatra.rb, line 85 def is_in_range(min, max, key) if lazy_check_disabled key = key.to_s unless is_valid_float(@params[key]) if !@params[key] || @params[key].length < min || @params[key].length > max @invalid_params.push(key) @messages.push(:name => key, :error => :NOT_IN_RANGE, :value => [ min, max ]) end else value = is_valid_integer(@params[key]) ? @params[key].to_i : @params[key].to_f if !value || value < min || value > max @invalid_params.push(key) @messages.push(:name => key, :error => :NOT_IN_RANGE, :value => [ min, max ]) end end end end
is_integer(key)
click to toggle source
# File lib/rack/validator/sinatra.rb, line 45 def is_integer(key) if lazy_check_disabled key = key.to_s value = @params[key] unless is_valid_integer(value) @invalid_params.push(key) @messages.push(:name => key, :error => :NOT_INTEGER) end end end
is_less_equal_than(max, key)
click to toggle source
# File lib/rack/validator/sinatra.rb, line 103 def is_less_equal_than(max, key) if lazy_check_disabled key = key.to_s unless is_valid_float(@params[key]) if !@params[key] || @params[key].length > max @invalid_params.push(key) @messages.push(:name => key, :error => :GREATER_THAN, :value => max) end else value = is_valid_integer(@params[key]) ? @params[key].to_i : @params[key].to_f if !value || value > max @invalid_params.push(key) @messages.push(:name => key, :error => :GREATER_THAN, :value => max) end end end end
is_set(array, key)
click to toggle source
# File lib/rack/validator/sinatra.rb, line 131 def is_set(array, key) if lazy_check_disabled key = key.to_s unless array.include? @params[key] @invalid_params.push(key) @messages.push(:name => key, :error => :NOT_IN_SET, :value => array) end end end
matches(regexp, key)
click to toggle source
# File lib/rack/validator/sinatra.rb, line 151 def matches(regexp, key) if lazy_check_disabled key = key.to_s unless @params[key] =~ regexp @invalid_params.push(key) @messages.push(:name => key, :error => :NOT_MATCHED, :value => regexp) end end end
required(keys)
click to toggle source
# File lib/rack/validator/sinatra.rb, line 32 def required(keys) if lazy_check_disabled keys.each { |k| k = k.to_s unless @params.has_key?(k) && !@params[k].empty? @invalid_params.push(k) @missing_params.push(k) @messages.push(:name => k, :error => :REQUIRED) end } end end
trim(key)
click to toggle source
# File lib/rack/validator/sinatra.rb, line 24 def trim(key) @params[key.to_s] = @params[key.to_s].strip if @params[key.to_s] end
Private Instance Methods
is_valid_float(value)
click to toggle source
# File lib/rack/validator/sinatra.rb, line 178 def is_valid_float(value) key = key.to_s value.to_f.to_s == value.to_s || is_valid_integer(value) end
is_valid_integer(value)
click to toggle source
# File lib/rack/validator/sinatra.rb, line 173 def is_valid_integer(value) key = key.to_s value.to_i.to_s == value.to_s end
lazy_check_disabled()
click to toggle source
# File lib/rack/validator/sinatra.rb, line 169 def lazy_check_disabled return !@lazy_mode || !has_errors? end