Class: SPCore::Limiters
- Inherits:
-
Object
- Object
- SPCore::Limiters
- Defined in:
- lib/spcore/util/limiters.rb
Overview
the given limits.
Class Method Summary collapse
-
.make_enum_limiter(good_values) ⇒ Object
make a limiter that limits values to a set of good values.
-
.make_lower_limiter(limit) ⇒ Object
make a limiter that keeps values at or above the given lower limit.
-
.make_no_limiter ⇒ Object
make a limiter that actually doesn’t limit at all.
-
.make_range_limiter(range) ⇒ Object
make a limiter that keeps values within the given range.
-
.make_upper_limiter(limit) ⇒ Object
make a limiter that keeps values at or below the given upper limit.
Class Method Details
.make_enum_limiter(good_values) ⇒ Object
make a limiter that limits values to a set of good values. Given also the current value, it either returns the input value if it’s included in the set of good values, or it returns the current value.
50 51 52 53 54 55 56 57 58 |
# File 'lib/spcore/util/limiters.rb', line 50 def self.make_enum_limiter good_values return lambda do |input, current| if good_values.include?(input) return input else return current end end end |
.make_lower_limiter(limit) ⇒ Object
make a limiter that keeps values at or above the given lower limit.
37 38 39 40 41 42 43 44 45 |
# File 'lib/spcore/util/limiters.rb', line 37 def self.make_lower_limiter limit return lambda do |input| if input < limit return limit else return input end end end |
.make_no_limiter ⇒ Object
make a limiter that actually doesn’t limit at all.
6 7 8 9 10 |
# File 'lib/spcore/util/limiters.rb', line 6 def self.make_no_limiter return lambda do |input| return input end end |
.make_range_limiter(range) ⇒ Object
make a limiter that keeps values within the given range.
13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/spcore/util/limiters.rb', line 13 def self.make_range_limiter range return lambda do |input| if input < range.first return range.first elsif input > range.last return range.last else return input end end end |
.make_upper_limiter(limit) ⇒ Object
make a limiter that keeps values at or below the given upper limit.
26 27 28 29 30 31 32 33 34 |
# File 'lib/spcore/util/limiters.rb', line 26 def self.make_upper_limiter limit return lambda do |input| if input > limit return limit else return input end end end |