Sha256: b3e9fbf2fee56b16ee7c46f5bb098ec0c963fa12248406fa1323b4673647259c
Contents?: true
Size: 714 Bytes
Versions: 2
Compression:
Stored size: 714 Bytes
Contents
module DR module Bool extend(self) def to_bool(el, default=nil) case el when String string=el.chomp return true if string =~ (/(true|t|yes|y|1)$/i) return false if string.empty? || string =~ (/(false|f|no|n|0)$/i) when Fixnum return ! (el == 0) when Process::Status exitstatus=el.exitstatus return exitstatus == 0 else return true if el == true return false if el == false #we don't return !!el because we don't want nil to be false but to #give an error end return default unless default.nil? raise ArgumentError.new("Invalid value for Boolean: \"#{el}\"") end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
drain-0.2.0 | lib/dr/base/bool.rb |
drain-0.1.0 | lib/drain/base/bool.rb |