module Lab42::BasicConstraints::Helpers::RangeHelper

Public Instance Methods

make_range(range: nil, min: nil, max: nil) click to toggle source
# File lib/lab42/basic_constraints/helpers/range_helper.rb, line 6
def make_range(range: nil, min: nil, max: nil)
  return unless range || min || max
  raise ArgumentError, "cannot provide min or max with range" if
  range && (min || max)
  range || _make_min_max_range(min, max) 
end
make_range!(range: nil, min: nil, max: nil) click to toggle source
# File lib/lab42/basic_constraints/helpers/range_helper.rb, line 13
def make_range!(range: nil, min: nil, max: nil)
  make_range(range: range, min: min, max: max)
    .tap do |range|
      raise ArgumentError, "Must provide either range or min or max" unless range
    end
end

Private Instance Methods

_make_min_max_range(min, max) click to toggle source
# File lib/lab42/basic_constraints/helpers/range_helper.rb, line 21
def _make_min_max_range(min, max)
  min ||= 0
  max ||= Float::INFINITY
  min..max
end