Module: Pakyow::Validations::Length
- Defined in:
- lib/pakyow/validations/length.rb
Overview
Validates that the value is of an expected length.
Class Method Summary collapse
- .message(minimum: nil, maximum: nil) ⇒ Object
- .valid?(value, minimum: nil, maximum: nil) ⇒ Boolean
- .wording(n) ⇒ Object
Class Method Details
.message(minimum: nil, maximum: nil) ⇒ Object
11 12 13 14 15 16 17 18 19 |
# File 'lib/pakyow/validations/length.rb', line 11 def self.(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) ⇒ Boolean
21 22 23 24 25 26 27 28 29 30 31 |
# 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) ⇒ Object
33 34 35 |
# File 'lib/pakyow/validations/length.rb', line 33 def self.wording(n) n == 1 ? "character" : "characters" end |