class LabeledRange::Value::Default
Attributes
level[R]
value[R]
Public Class Methods
new(value)
click to toggle source
# File lib/labeled_range/value/default.rb, line 6 def initialize(value) @value = value definitions = { good: 0, warning: 0.7, danger: 0.9 } max = 1 (definitions.values.sort + [max]).each_cons(2).each_with_object({}) do |(lower, upper), ranges| range = lower..upper key = definitions.key(lower) self.class.class_eval do define_method("#{key}?".to_sym) do range === value end end @level = key if range === value end @level ||= :undefined end