class Cl::Opts::Validate::Range
Public Instance Methods
apply()
click to toggle source
# File lib/cl/opts/validate.rb, line 98 def apply raise OutOfRange.new(invalid) if invalid.any? end
invalid()
click to toggle source
# File lib/cl/opts/validate.rb, line 102 def invalid @invalid ||= opts.map do |opt| next unless value = values[opt.name] range = only(opt.opts, :min, :max) [opt.name, compact(range)] if invalid?(range, value) end.compact end
invalid?(range, value)
click to toggle source
# File lib/cl/opts/validate.rb, line 110 def invalid?(range, value) min, max = range.values_at(:min, :max) min && value < min || max && value > max end