class Pingdom::Validator
Attributes
input[RW]
Public Instance Methods
validate(input: , permit: , params: @input= input.first || {})
click to toggle source
# File lib/pingdom/validator.rb, line 6 def validate input: , permit: , params: @input= input.first || {} @permit=permit @params=params params.merge(format) end
Private Instance Methods
filter()
click to toggle source
# File lib/pingdom/validator.rb, line 16 def filter input.select do |k,v| permit.keys.include?k and !v.nil? end end
format()
click to toggle source
# File lib/pingdom/validator.rb, line 28 def format validate_all.each_pair.map do |key, value| value=value.to_i if permit[key]==:valid_time? value=value.to_s if permit[key]==:valid_boolean? [key, value] end.to_h end
valid_boolean?(bool)
click to toggle source
# File lib/pingdom/validator.rb, line 52 def valid_boolean? bool bool.is_a?(TrueClass) || bool.is_a?(FalseClass) end
valid_int_list?(int_list)
click to toggle source
# File lib/pingdom/validator.rb, line 56 def valid_int_list? int_list list=int_list.split(',') raise 'Not valid list' if list.empty? list.each do |i| raise "Not valid Integer" if Integer(i)!=i.to_i end true rescue false end
valid_order?(order)
click to toggle source
# File lib/pingdom/validator.rb, line 44 def valid_order? order ['asc','desc'].include? order end
valid_positive_int?(value)
click to toggle source
# File lib/pingdom/validator.rb, line 40 def valid_positive_int? value value.is_a? Integer and value>=0 end
valid_resolution?(resolution)
click to toggle source
# File lib/pingdom/validator.rb, line 48 def valid_resolution? resolution %q(hour day week).include? resolution end
valid_str_list?(str_list)
click to toggle source
# File lib/pingdom/validator.rb, line 70 def valid_str_list? str_list list=str_list.split(',') raise 'Not valid list' if list.empty? || str_list.count(' ')>0 true rescue false end
valid_time?(time)
click to toggle source
# File lib/pingdom/validator.rb, line 36 def valid_time? time time.is_a? Time end
validate_all()
click to toggle source
# File lib/pingdom/validator.rb, line 22 def validate_all filter.each_pair do |key, value| raise "'#{key}' param with value: '#{value}', cannot pass the '#{permit[key]}' validation" unless send(permit[key], value) end end