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