esquema 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +4 -1
  3. data/CHANGELOG.md +9 -1
  4. data/README.md +8 -2
  5. data/lib/esquema/builder.rb +73 -28
  6. data/lib/esquema/configuration.rb +2 -1
  7. data/lib/esquema/keyword_validator.rb +98 -0
  8. data/lib/esquema/model.rb +4 -0
  9. data/lib/esquema/property.rb +185 -26
  10. data/lib/esquema/schema_enhancer.rb +55 -30
  11. data/lib/esquema/type_caster.rb +16 -4
  12. data/lib/esquema/version.rb +1 -1
  13. data/lib/esquema/virtual_column.rb +46 -0
  14. data/lib/esquema.rb +7 -1
  15. data/lib/generators/esquema/install/install_generator.rb +1 -0
  16. data/sorbet/config +4 -0
  17. data/sorbet/rbi/annotations/.gitattributes +1 -0
  18. data/sorbet/rbi/annotations/activemodel.rbi +89 -0
  19. data/sorbet/rbi/annotations/activerecord.rbi +92 -0
  20. data/sorbet/rbi/annotations/activesupport.rbi +421 -0
  21. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  22. data/sorbet/rbi/gems/.gitattributes +1 -0
  23. data/sorbet/rbi/gems/activemodel@7.1.3.rbi +8 -0
  24. data/sorbet/rbi/gems/activerecord@7.1.3.rbi +8 -0
  25. data/sorbet/rbi/gems/activesupport@7.1.3.rbi +192 -0
  26. data/sorbet/rbi/gems/ast@2.4.2.rbi +584 -0
  27. data/sorbet/rbi/gems/base64@0.2.0.rbi +8 -0
  28. data/sorbet/rbi/gems/bigdecimal@3.1.6.rbi +8 -0
  29. data/sorbet/rbi/gems/byebug@11.1.3.rbi +3606 -0
  30. data/sorbet/rbi/gems/coderay@1.1.3.rbi +3426 -0
  31. data/sorbet/rbi/gems/concurrent-ruby@1.2.3.rbi +8 -0
  32. data/sorbet/rbi/gems/connection_pool@2.4.1.rbi +8 -0
  33. data/sorbet/rbi/gems/diff-lcs@1.5.1.rbi +1130 -0
  34. data/sorbet/rbi/gems/drb@2.2.0.rbi +1272 -0
  35. data/sorbet/rbi/gems/erubi@1.12.0.rbi +145 -0
  36. data/sorbet/rbi/gems/i18n@1.14.1.rbi +8 -0
  37. data/sorbet/rbi/gems/json@2.7.1.rbi +1553 -0
  38. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14237 -0
  39. data/sorbet/rbi/gems/method_source@1.0.0.rbi +272 -0
  40. data/sorbet/rbi/gems/minitest@5.22.2.rbi +8 -0
  41. data/sorbet/rbi/gems/mutex_m@0.2.0.rbi +8 -0
  42. data/sorbet/rbi/gems/netrc@0.11.0.rbi +158 -0
  43. data/sorbet/rbi/gems/parallel@1.24.0.rbi +280 -0
  44. data/sorbet/rbi/gems/parser@3.3.0.5.rbi +5472 -0
  45. data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +951 -0
  46. data/sorbet/rbi/gems/prism@0.24.0.rbi +31040 -0
  47. data/sorbet/rbi/gems/pry-byebug@3.10.1.rbi +1150 -0
  48. data/sorbet/rbi/gems/pry@0.14.2.rbi +10075 -0
  49. data/sorbet/rbi/gems/racc@1.7.3.rbi +157 -0
  50. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +402 -0
  51. data/sorbet/rbi/gems/rake@13.1.0.rbi +3027 -0
  52. data/sorbet/rbi/gems/rbi@0.1.9.rbi +3006 -0
  53. data/sorbet/rbi/gems/regexp_parser@2.9.0.rbi +3771 -0
  54. data/sorbet/rbi/gems/rexml@3.2.6.rbi +4781 -0
  55. data/sorbet/rbi/gems/rspec-core@3.13.0.rbi +10978 -0
  56. data/sorbet/rbi/gems/rspec-expectations@3.13.0.rbi +8153 -0
  57. data/sorbet/rbi/gems/rspec-mocks@3.13.0.rbi +5340 -0
  58. data/sorbet/rbi/gems/rspec-support@3.13.0.rbi +1629 -0
  59. data/sorbet/rbi/gems/rspec@3.13.0.rbi +82 -0
  60. data/sorbet/rbi/gems/rubocop-ast@1.30.0.rbi +7006 -0
  61. data/sorbet/rbi/gems/rubocop@1.60.2.rbi +57383 -0
  62. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1317 -0
  63. data/sorbet/rbi/gems/ruby2_keywords@0.0.5.rbi +8 -0
  64. data/sorbet/rbi/gems/spoom@1.2.4.rbi +3777 -0
  65. data/sorbet/rbi/gems/sqlite3@1.7.2.rbi +1691 -0
  66. data/sorbet/rbi/gems/syntax_tree@6.2.0.rbi +23133 -0
  67. data/sorbet/rbi/gems/tapioca@0.12.0.rbi +3510 -0
  68. data/sorbet/rbi/gems/thor@1.3.0.rbi +4345 -0
  69. data/sorbet/rbi/gems/timeout@0.4.1.rbi +142 -0
  70. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +8 -0
  71. data/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi +65 -0
  72. data/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi +428 -0
  73. data/sorbet/rbi/gems/yard@0.9.34.rbi +18219 -0
  74. data/sorbet/rbi/todo.rbi +20 -0
  75. data/sorbet/tapioca/config.yml +13 -0
  76. data/sorbet/tapioca/require.rb +4 -0
  77. metadata +72 -10
  78. data/esquema.gemspec +0 -38
@@ -0,0 +1,192 @@
1
+ # typed: false
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `activesupport` gem.
5
+ # Please instead update this file by running `bin/tapioca gem activesupport`.
6
+
7
+ # :include: activesupport/README.rdoc
8
+ #
9
+ # source://activesupport//lib/active_support/concern.rb#3
10
+ module ActiveSupport; end
11
+
12
+ # = Active Support \Concern
13
+ #
14
+ # A typical module looks like this:
15
+ #
16
+ # module M
17
+ # def self.included(base)
18
+ # base.extend ClassMethods
19
+ # base.class_eval do
20
+ # scope :disabled, -> { where(disabled: true) }
21
+ # end
22
+ # end
23
+ #
24
+ # module ClassMethods
25
+ # ...
26
+ # end
27
+ # end
28
+ #
29
+ # By using +ActiveSupport::Concern+ the above module could instead be
30
+ # written as:
31
+ #
32
+ # require "active_support/concern"
33
+ #
34
+ # module M
35
+ # extend ActiveSupport::Concern
36
+ #
37
+ # included do
38
+ # scope :disabled, -> { where(disabled: true) }
39
+ # end
40
+ #
41
+ # class_methods do
42
+ # ...
43
+ # end
44
+ # end
45
+ #
46
+ # Moreover, it gracefully handles module dependencies. Given a +Foo+ module
47
+ # and a +Bar+ module which depends on the former, we would typically write the
48
+ # following:
49
+ #
50
+ # module Foo
51
+ # def self.included(base)
52
+ # base.class_eval do
53
+ # def self.method_injected_by_foo
54
+ # ...
55
+ # end
56
+ # end
57
+ # end
58
+ # end
59
+ #
60
+ # module Bar
61
+ # def self.included(base)
62
+ # base.method_injected_by_foo
63
+ # end
64
+ # end
65
+ #
66
+ # class Host
67
+ # include Foo # We need to include this dependency for Bar
68
+ # include Bar # Bar is the module that Host really needs
69
+ # end
70
+ #
71
+ # But why should +Host+ care about +Bar+'s dependencies, namely +Foo+? We
72
+ # could try to hide these from +Host+ directly including +Foo+ in +Bar+:
73
+ #
74
+ # module Bar
75
+ # include Foo
76
+ # def self.included(base)
77
+ # base.method_injected_by_foo
78
+ # end
79
+ # end
80
+ #
81
+ # class Host
82
+ # include Bar
83
+ # end
84
+ #
85
+ # Unfortunately this won't work, since when +Foo+ is included, its <tt>base</tt>
86
+ # is the +Bar+ module, not the +Host+ class. With +ActiveSupport::Concern+,
87
+ # module dependencies are properly resolved:
88
+ #
89
+ # require "active_support/concern"
90
+ #
91
+ # module Foo
92
+ # extend ActiveSupport::Concern
93
+ # included do
94
+ # def self.method_injected_by_foo
95
+ # ...
96
+ # end
97
+ # end
98
+ # end
99
+ #
100
+ # module Bar
101
+ # extend ActiveSupport::Concern
102
+ # include Foo
103
+ #
104
+ # included do
105
+ # self.method_injected_by_foo
106
+ # end
107
+ # end
108
+ #
109
+ # class Host
110
+ # include Bar # It works, now Bar takes care of its dependencies
111
+ # end
112
+ #
113
+ # === Prepending concerns
114
+ #
115
+ # Just like <tt>include</tt>, concerns also support <tt>prepend</tt> with a corresponding
116
+ # <tt>prepended do</tt> callback. <tt>module ClassMethods</tt> or <tt>class_methods do</tt> are
117
+ # prepended as well.
118
+ #
119
+ # <tt>prepend</tt> is also used for any dependencies.
120
+ #
121
+ # source://activesupport//lib/active_support/concern.rb#112
122
+ module ActiveSupport::Concern
123
+ # source://activesupport//lib/active_support/concern.rb#129
124
+ def append_features(base); end
125
+
126
+ # Define class methods from given block.
127
+ # You can define private class methods as well.
128
+ #
129
+ # module Example
130
+ # extend ActiveSupport::Concern
131
+ #
132
+ # class_methods do
133
+ # def foo; puts 'foo'; end
134
+ #
135
+ # private
136
+ # def bar; puts 'bar'; end
137
+ # end
138
+ # end
139
+ #
140
+ # class Buzz
141
+ # include Example
142
+ # end
143
+ #
144
+ # Buzz.foo # => "foo"
145
+ # Buzz.bar # => private method 'bar' called for Buzz:Class(NoMethodError)
146
+ #
147
+ # source://activesupport//lib/active_support/concern.rb#209
148
+ def class_methods(&class_methods_module_definition); end
149
+
150
+ # Evaluate given block in context of base class,
151
+ # so that you can write class macros here.
152
+ # When you define more than one +included+ block, it raises an exception.
153
+ #
154
+ # source://activesupport//lib/active_support/concern.rb#158
155
+ def included(base = T.unsafe(nil), &block); end
156
+
157
+ # source://activesupport//lib/active_support/concern.rb#142
158
+ def prepend_features(base); end
159
+
160
+ # Evaluate given block in context of base class,
161
+ # so that you can write class macros here.
162
+ # When you define more than one +prepended+ block, it raises an exception.
163
+ #
164
+ # source://activesupport//lib/active_support/concern.rb#175
165
+ def prepended(base = T.unsafe(nil), &block); end
166
+
167
+ class << self
168
+ # source://activesupport//lib/active_support/concern.rb#125
169
+ def extended(base); end
170
+ end
171
+ end
172
+
173
+ # source://activesupport//lib/active_support/concern.rb#113
174
+ class ActiveSupport::Concern::MultipleIncludedBlocks < ::StandardError
175
+ # @return [MultipleIncludedBlocks] a new instance of MultipleIncludedBlocks
176
+ #
177
+ # source://activesupport//lib/active_support/concern.rb#114
178
+ def initialize; end
179
+ end
180
+
181
+ # source://activesupport//lib/active_support/concern.rb#119
182
+ class ActiveSupport::Concern::MultiplePrependBlocks < ::StandardError
183
+ # @return [MultiplePrependBlocks] a new instance of MultiplePrependBlocks
184
+ #
185
+ # source://activesupport//lib/active_support/concern.rb#120
186
+ def initialize; end
187
+ end
188
+
189
+ class NameError < ::StandardError
190
+ include ::ErrorHighlight::CoreExt
191
+ include ::DidYouMean::Correctable
192
+ end