Module: TypeConstraints::Type::Default

Defined in:
lib/type_constraints/type/default.rb,
lib/type_constraints/type/default.rb

Constant Summary collapse

DEFAULT_TYPES =
{
  BasicObject:   [-> v { v.kind_of?(BasicObject) }],
  Object:        [-> v { v.kind_of?(Object) }, :BasicObject],
  Hash:          [-> v { v.kind_of?(Hash) }, :Object],
  Array:         [-> v { v.kind_of?(Array) }, :Object],
  Method:        [-> v { v.kind_of?(Method) }, :Object],
  UnboundMethod: [-> v { v.kind_of?(UnboundMethod) }, :Object],
  String:        [-> v { v.kind_of?(String) }, :Object],
  Symbol:        [-> v { v.kind_of?(Symbol) }, :Object],
  Range:         [-> v { v.kind_of?(Range) }, :Object],
  Exception:     [-> v { v.kind_of?(Exception) }, :Object],
  NilClass:      [-> v { v.kind_of?(NilClass) }, :Object],
  TrueClass:     [-> v { v.kind_of?(TrueClass) }, :Object],
  FalseClass:    [-> v { v.kind_of?(FalseClass) }, :Object],
  Regexp:        [-> v { v.kind_of?(Regexp) }, :Object],
  Time:          [-> v { v.kind_of?(Time) }, :Object],
  MatchData:     [-> v { v.kind_of?(MatchData) }, :MatchData],
  Proc:          [-> v { v.kind_of?(Proc) }, :Object],
  Module:        [-> v { v.kind_of?(Module) }, :Object],
  Class:         [-> v { v.kind_of?(Class) }, :Module],
  Numeric:       [-> v { v.kind_of?(Numeric) }, :Object],
  Float:         [-> v { v.kind_of?(Float) }, :Numeric],
  Integer:       [-> v { v.kind_of?(Integer) }, :Numeric],
  Bignum:        [-> v { v.kind_of?(Bignum) }, :Integer],
  Fixnum:        [-> v { v.kind_of?(Fixnum) }, :Integer],
  Bignum:        [-> v { v.kind_of?(Bignum) }, :Integer],
  Fixnum:        [-> v { v.kind_of?(Fixnum) }, :Integer],
}.freeze