class SPNet::RangeLimiter

Keeps values between the given Limit objects.

@author James Tunnell

Attributes

lower[R]
upper[R]

Public Class Methods

new(lower_limit, lower_inclusive, upper_limit, upper_inclusive) click to toggle source
# File lib/spnet/limiters/range_limiter.rb, line 8
def initialize lower_limit, lower_inclusive, upper_limit, upper_inclusive
  @lower = LowerLimiter.new(lower_limit, lower_inclusive)
  @upper = UpperLimiter.new(upper_limit, upper_inclusive)
end

Public Instance Methods

apply_limit(value, current_value = nil) click to toggle source

Limit the given value to be between lower and upper limits. Ignores the current_value parameter.

# File lib/spnet/limiters/range_limiter.rb, line 14
def apply_limit value, current_value = nil
  new_value = @lower.apply_limit value
  if(new_value == value)
    # value is OK so far. Make sure the right (upper) limit is OK too.
    new_value = @upper.apply_limit value
  end
  return new_value
end