data_model 0.4.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +8 -2
  3. data/.solargraph.yml +22 -0
  4. data/Gemfile.lock +71 -29
  5. data/Rakefile +0 -6
  6. data/Steepfile +27 -0
  7. data/data_model.gemspec +1 -2
  8. data/lib/data_model/boolean.rb +0 -2
  9. data/lib/data_model/builtin/array.rb +32 -25
  10. data/lib/data_model/builtin/big_decimal.rb +15 -14
  11. data/lib/data_model/builtin/boolean.rb +10 -7
  12. data/lib/data_model/builtin/date.rb +15 -12
  13. data/lib/data_model/builtin/float.rb +14 -13
  14. data/lib/data_model/builtin/hash.rb +109 -36
  15. data/lib/data_model/builtin/integer.rb +14 -13
  16. data/lib/data_model/builtin/numeric.rb +35 -0
  17. data/lib/data_model/builtin/object.rb +28 -0
  18. data/lib/data_model/builtin/or.rb +73 -0
  19. data/lib/data_model/builtin/string.rb +15 -16
  20. data/lib/data_model/builtin/symbol.rb +14 -13
  21. data/lib/data_model/builtin/time.rb +17 -14
  22. data/lib/data_model/builtin.rb +9 -9
  23. data/lib/data_model/error.rb +30 -18
  24. data/lib/data_model/errors.rb +79 -55
  25. data/lib/data_model/fixtures/array.rb +22 -9
  26. data/lib/data_model/fixtures/big_decimal.rb +9 -7
  27. data/lib/data_model/fixtures/boolean.rb +5 -5
  28. data/lib/data_model/fixtures/date.rb +13 -11
  29. data/lib/data_model/fixtures/example.rb +7 -7
  30. data/lib/data_model/fixtures/float.rb +9 -7
  31. data/lib/data_model/fixtures/hash.rb +22 -10
  32. data/lib/data_model/fixtures/integer.rb +9 -7
  33. data/lib/data_model/fixtures/numeric.rb +31 -0
  34. data/lib/data_model/fixtures/object.rb +27 -0
  35. data/lib/data_model/fixtures/or.rb +29 -0
  36. data/lib/data_model/fixtures/string.rb +15 -32
  37. data/lib/data_model/fixtures/symbol.rb +9 -7
  38. data/lib/data_model/fixtures/time.rb +13 -11
  39. data/lib/data_model/logging.rb +5 -8
  40. data/lib/data_model/model.rb +11 -8
  41. data/lib/data_model/registry.rb +37 -22
  42. data/lib/data_model/scanner.rb +23 -28
  43. data/lib/data_model/struct.rb +116 -0
  44. data/lib/data_model/testing/minitest.rb +33 -9
  45. data/lib/data_model/testing.rb +0 -2
  46. data/lib/data_model/type.rb +38 -22
  47. data/lib/data_model/version.rb +1 -3
  48. data/lib/data_model.rb +8 -17
  49. metadata +13 -26
  50. data/sorbet/config +0 -4
  51. data/sorbet/rbi/annotations/rainbow.rbi +0 -269
  52. data/sorbet/rbi/gems/minitest@5.18.0.rbi +0 -1491
  53. data/sorbet/rbi/gems/zeitwerk.rbi +0 -196
  54. data/sorbet/rbi/gems/zeitwerk@2.6.7.rbi +0 -966
  55. data/sorbet/rbi/todo.rbi +0 -5
  56. data/sorbet/tapioca/config.yml +0 -13
  57. data/sorbet/tapioca/require.rb +0 -4
@@ -1,196 +0,0 @@
1
- # This file is autogenerated. Do not edit it by hand. Regenerate it with:
2
- # srb rbi gems
3
-
4
- # typed: false
5
- #
6
- # If you would like to make changes to this file, great! Please create the gem's shim here:
7
- #
8
- # https://github.com/sorbet/sorbet-typed/new/master?filename=lib/zeitwerk/all/zeitwerk.rbi
9
- #
10
- # zeitwerk-2.6.7
11
-
12
- module Zeitwerk::RealModName
13
- def real_mod_name(mod); end
14
- end
15
- module Zeitwerk::Internal
16
- def internal(method_name); end
17
- end
18
- module Zeitwerk::Loader::Helpers
19
- def cdef?(parent, cname); end
20
- def cget(parent, cname); end
21
- def cpath(parent, cname); end
22
- def crem(parent, cname); end
23
- def dir?(path); end
24
- def has_at_least_one_ruby_file?(dir); end
25
- def hidden?(basename); end
26
- def log(message); end
27
- def ls(dir); end
28
- def ruby?(path); end
29
- def strict_autoload_path(parent, cname); end
30
- def walk_up(abspath); end
31
- end
32
- module Zeitwerk::Loader::Callbacks
33
- def on_dir_autoloaded(dir); end
34
- def on_file_autoloaded(file); end
35
- def on_namespace_loaded(namespace); end
36
- def run_on_load_callbacks(cpath, value, abspath); end
37
- include Zeitwerk::RealModName
38
- end
39
- module Zeitwerk::Loader::Config
40
- def __ignores?(abspath); end
41
- def __roots; end
42
- def actual_roots; end
43
- def collapse(*glob_patterns); end
44
- def collapse?(dir); end
45
- def collapse_dirs; end
46
- def collapse_glob_patterns; end
47
- def dirs(namespaces: nil, ignored: nil); end
48
- def do_not_eager_load(*paths); end
49
- def eager_load_exclusions; end
50
- def enable_reloading; end
51
- def excluded_from_eager_load?(abspath); end
52
- def expand_glob_patterns(glob_patterns); end
53
- def expand_paths(paths); end
54
- def ignore(*glob_patterns); end
55
- def ignored_glob_patterns; end
56
- def ignored_path?(abspath); end
57
- def ignored_paths; end
58
- def ignores?(abspath); end
59
- def inflector; end
60
- def inflector=(arg0); end
61
- def initialize; end
62
- def log!; end
63
- def logger; end
64
- def logger=(arg0); end
65
- def on_load(cpath = nil, &block); end
66
- def on_load_callbacks; end
67
- def on_setup(&block); end
68
- def on_setup_callbacks; end
69
- def on_unload(cpath = nil, &block); end
70
- def on_unload_callbacks; end
71
- def push_dir(path, namespace: nil); end
72
- def recompute_collapse_dirs; end
73
- def recompute_ignored_paths; end
74
- def reloading_enabled?; end
75
- def root_dir?(dir); end
76
- def roots; end
77
- def tag; end
78
- def tag=(tag); end
79
- extend Zeitwerk::Internal
80
- include Zeitwerk::RealModName
81
- end
82
- module Zeitwerk::Loader::EagerLoad
83
- def actual_eager_load_dir(dir, namespace, force: nil); end
84
- def eager_load(force: nil); end
85
- def eager_load_child_namespace(child, child_name, root_dir, root_namespace); end
86
- def eager_load_dir(path); end
87
- def eager_load_namespace(mod); end
88
- def load_file(path); end
89
- end
90
- module Zeitwerk
91
- def self.with_loader; end
92
- end
93
- class Zeitwerk::Loader
94
- def __autoloaded_dirs; end
95
- def __autoloads; end
96
- def __namespace_dirs; end
97
- def __shadowed_file?(file); end
98
- def __shadowed_files; end
99
- def __to_unload; end
100
- def autoload_file(parent, cname, file); end
101
- def autoload_path_set_by_me_for?(parent, cname); end
102
- def autoload_subdir(parent, cname, subdir); end
103
- def autoloaded_dirs; end
104
- def autoloads; end
105
- def initialize; end
106
- def mutex2; end
107
- def mutex; end
108
- def namespace_dirs; end
109
- def promote_namespace_from_implicit_to_explicit(dir:, file:, parent:, cname:); end
110
- def raise_if_conflicting_directory(dir); end
111
- def register_explicit_namespace(cpath); end
112
- def reload; end
113
- def run_on_unload_callbacks(cpath, value, abspath); end
114
- def self.all_dirs; end
115
- def self.default_logger; end
116
- def self.default_logger=(arg0); end
117
- def self.eager_load_all; end
118
- def self.eager_load_namespace(mod); end
119
- def self.for_gem(warn_on_extra_files: nil); end
120
- def set_autoload(parent, cname, abspath); end
121
- def set_autoloads_in_dir(dir, parent); end
122
- def setup; end
123
- def shadowed_file?(file); end
124
- def shadowed_files; end
125
- def to_unload; end
126
- def unload; end
127
- def unload_autoload(parent, cname); end
128
- def unload_cref(parent, cname); end
129
- def unloadable_cpath?(cpath); end
130
- def unloadable_cpaths; end
131
- def unregister; end
132
- extend Zeitwerk::Internal
133
- include Zeitwerk::Loader::Callbacks
134
- include Zeitwerk::Loader::Config
135
- include Zeitwerk::Loader::EagerLoad
136
- include Zeitwerk::Loader::Helpers
137
- include Zeitwerk::RealModName
138
- end
139
- class Zeitwerk::GemLoader < Zeitwerk::Loader
140
- def initialize(root_file, warn_on_extra_files:); end
141
- def self._new(root_file, warn_on_extra_files:); end
142
- def self.new(*, **); end
143
- def setup; end
144
- def warn_on_extra_files; end
145
- end
146
- module Zeitwerk::Registry
147
- def self.autoloads; end
148
- def self.gem_loaders_by_root_file; end
149
- def self.inception?(cpath); end
150
- def self.inceptions; end
151
- def self.loader_for(path); end
152
- def self.loader_for_gem(root_file, warn_on_extra_files:); end
153
- def self.loaders; end
154
- def self.on_unload(loader); end
155
- def self.register_autoload(loader, abspath); end
156
- def self.register_inception(cpath, abspath, loader); end
157
- def self.register_loader(loader); end
158
- def self.unregister_autoload(abspath); end
159
- def self.unregister_loader(loader); end
160
- end
161
- module Zeitwerk::ExplicitNamespace
162
- def self.__register(cpath, loader); end
163
- def self.__registered?(cpath); end
164
- def self.__unregister_loader(loader); end
165
- def self.cpaths; end
166
- def self.disable_tracer_if_unneeded; end
167
- def self.mutex; end
168
- def self.register(cpath, loader); end
169
- def self.registered?(cpath); end
170
- def self.tracepoint_class_callback(event); end
171
- def self.tracer; end
172
- def self.unregister_loader(loader); end
173
- end
174
- class Zeitwerk::Inflector
175
- def camelize(basename, _abspath); end
176
- def inflect(inflections); end
177
- def overrides; end
178
- end
179
- class Zeitwerk::GemInflector < Zeitwerk::Inflector
180
- def camelize(basename, abspath); end
181
- def initialize(root_file); end
182
- end
183
- module Kernel
184
- def self.zeitwerk_original_require(arg0); end
185
- def zeitwerk_original_require(path); end
186
- end
187
- class Zeitwerk::Error < StandardError
188
- end
189
- class Zeitwerk::ReloadingDisabledError < Zeitwerk::Error
190
- def initialize; end
191
- end
192
- class Zeitwerk::NameError < NameError
193
- end
194
- class Zeitwerk::SetupRequired < Zeitwerk::Error
195
- def initialize; end
196
- end