Module: Xqsr3::Conversion::BoolParser
- Defined in:
- lib/xqsr3/conversion/bool_parser.rb
Overview
+include-able module that provides Boolean parsing
Constant Summary collapse
- DEFAULT_TRUE_VALUES =
Recognised truey values
[ /true/i, '1' ]
- DEFAULT_FALSE_VALUES =
Recognised falsey values
[ /false/i, '0' ]
Class Method Summary collapse
-
.to_bool(s, **options) ⇒ Object
Attempts to parse the given string
s
to a Boolean value, based on the givenoptions
.
Class Method Details
.to_bool(s, **options) ⇒ Object
Attempts to parse the given string s
to a Boolean value, based on the given options
Signature
-
Parameters:
-
s
The string to be parsed -
options
An options hash, containing any of the following options
-
-
Options:
-
:false_values
(::Array) An array of strings or regular expressions against which to match for false value. Defaults toDEFAULT_FALSE_VALUES
-
:true_values
(::Array) An array of strings or regular expressions against which to match for true value. Defaults toDEFAULT_TRUE_VALUES
-
:default_value
An object to be returned if matching fails. Defaults tonil
-
:false_value
An object to be returned if matching succeeds to match against:false_values
. Defaults tofalse
-
:true_value
An object to be returned if matching succeeds to match against:true_values
. Defaults totrue
-
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 |
# File 'lib/xqsr3/conversion/bool_parser.rb', line 93 def self.to_bool s, ** true_values = [:true_values] || DEFAULT_TRUE_VALUES true_values = [ true_values ] unless true_values.is_a? ::Array false_values = [:false_values] || DEFAULT_FALSE_VALUES false_values = [ false_values ] unless false_values.is_a? ::Array default_value = [:default] || nil true_value = [:true] || true false_value = [:false] || false return true_value if true_values.any? { |v| self.matches_to_ s, v } return false_value if false_values.any? { |v| self.matches_to_ s, v } return default_value end |