Class: ParamsChecker::ParamChecker::CharParamChecker

Inherits:
BaseParamChecker show all
Includes:
SimpleCommand
Defined in:
lib/params_checker/param_checker.rb

Instance Attribute Summary

Attributes inherited from BaseParamChecker

#key, #params, #schema

Instance Method Summary collapse

Methods inherited from BaseParamChecker

#add_field_error, #initialize

Constructor Details

This class inherits a constructor from ParamsChecker::ParamChecker::BaseParamChecker

Instance Method Details

#callObject



74
75
76
77
78
# File 'lib/params_checker/param_checker.rb', line 74

def call
  return nil if schema[key][:allow_nil] && params[key].nil?

  check_type && check_allow_blank && check_length && params[key]
end

#check_allow_blankObject



86
87
88
89
90
# File 'lib/params_checker/param_checker.rb', line 86

def check_allow_blank
  valid = !(!schema[key][:allow_blank] && params[key].blank?)
  add_field_error('This field cannot be blank.') unless valid
  valid
end

#check_lengthObject



92
93
94
95
96
97
98
# File 'lib/params_checker/param_checker.rb', line 92

def check_length
  min_length = schema[key][:min_length]
  max_length = schema[key][:max_length]
  valid = (min_length..max_length).include? params[key].length
  add_field_error("This string field's length must be in range from #{min_length} to #{max_length}.") unless valid
  valid
end

#check_typeObject



80
81
82
83
84
# File 'lib/params_checker/param_checker.rb', line 80

def check_type
  valid = params[key].is_a?(String)
  add_field_error("This field's type must be string.") unless valid
  valid
end