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