class NRSER::Types::Boolean

Abstract base class for {True} and {False}.

Public Class Methods

new(value, **options) click to toggle source

Instantiate a new `Boolean`.

Calls superclass method
# File lib/nrser/types/booleans.rb, line 34
def initialize value, **options
  # Check it's a boolean
  unless true.equal?( value ) || false.equal?( value )
    raise ArgumentError.new \
      "`value` arg must be `true` or `false`, found #{ value.inspect }"
  end
  
  super value, **options
end

Protected Instance Methods

custom_from_s(string) click to toggle source
# File lib/nrser/types/booleans.rb, line 48
    def custom_from_s string
      return value if self.class::STRINGS.include?( string.downcase )
      
      raise NRSER::Types::FromStringError.new \
        type: self,
        string: string,
        binding: binding,
        details: -> {
          <<~END
            Down-cased `string` must be one of:
            
                <%= self::STRINGS.to_a %>
          END
        }
    end