data_model 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/.editorconfig +6 -2
  3. data/.rubocop.yml +11 -2
  4. data/.ruby-version +2 -0
  5. data/Gemfile.lock +91 -54
  6. data/Guardfile +20 -0
  7. data/Rakefile +32 -0
  8. data/data_model.gemspec +52 -0
  9. data/lib/data_model/boolean.rb +7 -0
  10. data/lib/data_model/builtin/array.rb +73 -0
  11. data/lib/data_model/builtin/big_decimal.rb +64 -0
  12. data/lib/data_model/builtin/boolean.rb +37 -0
  13. data/lib/data_model/builtin/date.rb +60 -0
  14. data/lib/data_model/builtin/float.rb +64 -0
  15. data/lib/data_model/builtin/hash.rb +119 -0
  16. data/lib/data_model/builtin/integer.rb +64 -0
  17. data/lib/data_model/builtin/string.rb +67 -0
  18. data/lib/data_model/builtin/symbol.rb +64 -0
  19. data/lib/data_model/builtin/time.rb +60 -0
  20. data/lib/data_model/builtin.rb +23 -0
  21. data/lib/data_model/error.rb +107 -0
  22. data/lib/data_model/errors.rb +278 -0
  23. data/lib/data_model/fixtures/array.rb +61 -0
  24. data/lib/data_model/fixtures/big_decimal.rb +55 -0
  25. data/lib/data_model/fixtures/boolean.rb +35 -0
  26. data/lib/data_model/fixtures/date.rb +53 -0
  27. data/lib/data_model/fixtures/example.rb +29 -0
  28. data/lib/data_model/fixtures/float.rb +53 -0
  29. data/lib/data_model/fixtures/hash.rb +66 -0
  30. data/lib/data_model/fixtures/integer.rb +53 -0
  31. data/lib/data_model/fixtures/string.rb +77 -0
  32. data/lib/data_model/fixtures/symbol.rb +56 -0
  33. data/lib/data_model/fixtures/time.rb +53 -0
  34. data/lib/data_model/logging.rb +23 -0
  35. data/lib/data_model/model.rb +21 -44
  36. data/lib/data_model/scanner.rb +92 -56
  37. data/lib/data_model/testing/minitest.rb +79 -0
  38. data/lib/data_model/testing.rb +6 -0
  39. data/lib/data_model/type.rb +41 -39
  40. data/lib/data_model/type_registry.rb +68 -0
  41. data/lib/data_model/version.rb +3 -1
  42. data/lib/data_model.rb +32 -16
  43. data/sorbet/config +4 -0
  44. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  45. data/sorbet/rbi/gems/minitest@5.18.0.rbi +1491 -0
  46. data/sorbet/rbi/gems/zeitwerk.rbi +196 -0
  47. data/sorbet/rbi/gems/zeitwerk@2.6.7.rbi +966 -0
  48. data/sorbet/rbi/todo.rbi +5 -0
  49. data/sorbet/tapioca/config.yml +13 -0
  50. data/sorbet/tapioca/require.rb +4 -0
  51. metadata +139 -17
  52. data/config/sus.rb +0 -2
  53. data/fixtures/schema.rb +0 -14
  54. data/lib/data_model/registry.rb +0 -44
@@ -0,0 +1,196 @@
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