class Detox::Validations::OrderingValidator
Public Instance Methods
validate_each(record, attribute, value)
click to toggle source
# File lib/detox/validations/ordering.rb, line 9 def validate_each(record, attribute, value) args = { :record => record, :attribute => attribute, :value => value, :message => options[:message] || :invalid_as_order, :options => options } validate_values(args) end
Private Instance Methods
first_number()
click to toggle source
# File lib/detox/validations/ordering.rb, line 33 def first_number num = options[:start_with].to_i num.zero? ? 1 : num end
normalize_values_for_compare(values)
click to toggle source
# File lib/detox/validations/ordering.rb, line 38 def normalize_values_for_compare(values) values.map(&:to_s).sort end
same_values?(values, another)
click to toggle source
# File lib/detox/validations/ordering.rb, line 24 def same_values?(values, another) normalize_values_for_compare(values) == normalize_values_for_compare(another) end
valid_numbers(length)
click to toggle source
# File lib/detox/validations/ordering.rb, line 28 def valid_numbers(length) last_number = first_number + length (first_number...last_number).to_a end
values_valid?(values)
click to toggle source
# File lib/detox/validations/ordering.rb, line 20 def values_valid?(values) same_values?(valid_numbers(values.length), values) end