Sha256: 055c920de451ea23512279e1b66eeb782921cd722cd3de28723378eddd1a1e92

Contents?: true

Size: 619 Bytes

Versions: 10

Compression:

Stored size: 619 Bytes

Contents

# typed: false
module BooleanStringImpl
  def is_a?(type)
    return super unless type == BooleanString
    _is_a_boolean_string?
  end

  def kind_of?(type)
    return super unless type == BooleanString
    _is_a_boolean_string?
  end

  def instance_of?(type)
    return super unless type == BooleanString
    _is_a_boolean_string?
  end

  def _is_a_boolean_string?
    return @cached_is_a unless @cached_is_a.nil?
    @cached_is_a = (self =~ /^(true|false)$/i) == 0
  end
end

class String
  include BooleanStringImpl
end

class BooleanString < String
  def self.===(other)
    other.is_a?(BooleanString)
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
sorbet-rails-0.6.2 lib/sorbet-rails/custom_types/boolean_string.rb
sorbet-rails-0.6.1 lib/sorbet-rails/custom_types/boolean_string.rb
sorbet-rails-0.6.0 lib/sorbet-rails/custom_types/boolean_string.rb
sorbet-rails-0.5.9.1 lib/sorbet-rails/custom_types/boolean_string.rb
sorbet-rails-0.5.9 lib/sorbet-rails/custom_types/boolean_string.rb
sorbet-rails-0.5.8.1 lib/sorbet-rails/custom_types/boolean_string.rb
sorbet-rails-0.5.8 lib/sorbet-rails/custom_types/boolean_string.rb
sorbet-rails-0.5.7 lib/sorbet-rails/custom_types/boolean_string.rb
sorbet-rails-0.5.6 lib/sorbet-rails/custom_types/boolean_string.rb
sorbet-rails-0.5.5.1 lib/sorbet-rails/custom_types/boolean_string.rb