Class | Coercible::Coercer::String |
In: |
lib/coercible/coercer/string.rb
|
Parent: | Object |
Coerce String values
TRUE_VALUES | = | %w[ 1 on t true y yes ].freeze |
FALSE_VALUES | = | %w[ 0 off f false n no ].freeze |
BOOLEAN_MAP | = | ::Hash[ TRUE_VALUES.product([ true ]) + FALSE_VALUES.product([ false ]) ].freeze |
INTEGER_REGEXP | = | /[-+]?(?:[0-9]\d*)/.freeze |
EXPONENT_REGEXP | = | /(?:[eE][-+]?\d+)/.freeze |
FRACTIONAL_REGEXP | = | /(?:\.\d+)/.freeze |
NUMERIC_REGEXP | = | /\A( #{INTEGER_REGEXP}#{FRACTIONAL_REGEXP}?#{EXPONENT_REGEXP}? | #{FRACTIONAL_REGEXP}#{EXPONENT_REGEXP}? )\z/x.freeze |
Initialize a new string coercer instance
@param [Coercer]
@param [Configuration]
@return [undefined]
@api private
Coerce value to TrueClass or FalseClass
@example with "T"
coercer[String].to_boolean('T') # => true
@example with "F"
coercer[String].to_boolean('F') # => false
@param [to_s]
@return [Boolean]
@api public
Coerce value to decimal
@example
coercer[String].to_decimal('1.2') # => #<BigDecimal:b72157d4,'0.12E1',8(8)>
@param [Object] value
@return [BigDecimal]
@api public