module Pakyow::Validations::Length
Validates that the value is of an expected length.
@api public
Public Class Methods
message(minimum: nil, maximum: nil, **)
click to toggle source
# File lib/pakyow/validations/length.rb, line 11 def self.message(minimum: nil, maximum: nil, **) if minimum && maximum "must have between #{minimum} and #{maximum} characters" elsif minimum "must have more than #{minimum} #{wording(minimum)}" elsif maximum "must have less than #{maximum} #{wording(maximum)}" end end
valid?(value, minimum: nil, maximum: nil, **)
click to toggle source
# File lib/pakyow/validations/length.rb, line 21 def self.valid?(value, minimum: nil, maximum: nil, **) unless minimum.nil? return false if value.length < minimum end unless maximum.nil? return false if value.length > maximum end true end
wording(n)
click to toggle source
# File lib/pakyow/validations/length.rb, line 33 def self.wording(n) n == 1 ? "character" : "characters" end