Sha256: 1339622d58f39a1846cbe6b7e218e7308e9a1e37a8d78bb3c530f6dc7722aafe
Contents?: true
Size: 835 Bytes
Versions: 3
Compression:
Stored size: 835 Bytes
Contents
module Tunable module Normalizer TRUTHIES = ['true', 't', 'on', 'yes', 'y', '1'].freeze FALSIES = ['false', 'f', 'off', 'no', 'n', '0'].freeze def normalize_value(val) return 1 if TRUTHIES.include?(val.to_s) return 0 if FALSIES.include?(val.to_s) return if val.blank? # false.blank? returns true so this needs to go after the 0 line val end def getter_value(normalized) return normalized === 1 ? true : normalized === 0 ? false : normalized end # Called from Setting#normalized_value and DeviceActions#toggle_action def normalize_and_get(val) getter_value(normalize_value(val)) end def matching_type(a, b) if [true, false].include?(a) return [true, false].include?(b) else a.class == b.class end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
tunable-0.0.3 | lib/tunable/normalizer.rb |
tunable-0.0.2 | lib/tunable/normalizer.rb |
tunable-0.0.1 | lib/tunable/normalizer.rb |