Sha256: a2a825e6aa07e45d76685567a1f297c2df59bf9f3d2adcec0031a536a6d2e58c
Contents?: true
Size: 636 Bytes
Versions: 5
Compression:
Stored size: 636 Bytes
Contents
# frozen_string_literal: true module EacRubyUtils class Boolean class << self def parse(value) return parse_string(value) if value.is_a?(::String) return parse_string(value.to_s) if value.is_a?(::Symbol) return parse_number(value) if value.is_a?(::Numeric) value ? true : false end private def parse_string(value) ['', 'n', 'no', 'f', 'false'].exclude?(value.strip.downcase) end def parse_number(value) value.zero? end end attr_reader :value def initialize(value) @value = self.class.parse(value) end end end
Version data entries
5 entries across 5 versions & 2 rubygems