sorbet-rails 0.5.6 → 0.5.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (175) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/.travis.yml +0 -2
  4. data/CONTRIBUTING.md +2 -4
  5. data/Gemfile +0 -4
  6. data/README.md +41 -7
  7. data/Rakefile +3 -14
  8. data/lib/bundled_rbi/parameters.rbi +4 -26
  9. data/lib/bundled_rbi/pluck_to_tstruct.rbi +22 -0
  10. data/lib/bundled_rbi/type_assert.rbi +27 -0
  11. data/lib/sorbet-rails/gem_plugins/elastic_search_plugin.rb +40 -0
  12. data/lib/sorbet-rails/gem_plugins/shrine_plugin.rb +76 -0
  13. data/lib/sorbet-rails/model_plugins/active_record_assoc.rb +2 -11
  14. data/lib/sorbet-rails/model_plugins/active_record_attribute.rb +3 -6
  15. data/lib/sorbet-rails/model_plugins/active_record_querying.rb +10 -2
  16. data/lib/sorbet-rails/model_plugins/plugins.rb +6 -0
  17. data/lib/sorbet-rails/rails_mixins/pluck_to_tstruct.rb +33 -0
  18. data/lib/sorbet-rails/railtie.rb +4 -0
  19. data/lib/sorbet-rails/sorbet_utils.rb +4 -1
  20. data/lib/sorbet-rails/tasks/rails_rbi.rake +16 -6
  21. data/sorbet-rails.gemspec +1 -1
  22. data/spec/bin/run_all_specs.sh +0 -1
  23. data/spec/bin/run_spec.sh +4 -6
  24. data/spec/generators/rails-template.rb +67 -124
  25. data/spec/generators/sorbet_test_cases.rb +26 -16
  26. data/spec/pluck_to_tstruct_spec.rb +79 -0
  27. data/spec/rails_helper.rb +0 -2
  28. data/spec/rake_rails_rbi_models_spec.rb +2 -0
  29. data/spec/sorbet_utils_spec.rb +37 -0
  30. data/spec/spec_helper.rb +1 -2
  31. data/spec/support/v5.0/Gemfile.lock +6 -6
  32. data/spec/support/v5.0/config/boot.rb +1 -1
  33. data/spec/support/v5.0/config/initializers/sorbet_rails.rb +1 -1
  34. data/spec/support/v5.0/db/migrate/20190620000004_add_more_column_types_to_wands.rb +1 -1
  35. data/spec/support/v5.0/sorbet_test_cases.rb +26 -16
  36. data/spec/support/v5.1/Gemfile.lock +6 -6
  37. data/spec/support/v5.1/config/boot.rb +1 -1
  38. data/spec/support/v5.1/config/initializers/sorbet_rails.rb +1 -1
  39. data/spec/support/v5.1/db/migrate/20190620000004_add_more_column_types_to_wands.rb +1 -1
  40. data/spec/support/v5.1/sorbet_test_cases.rb +26 -16
  41. data/spec/support/v5.2/Gemfile.lock +6 -6
  42. data/spec/support/v5.2/config/boot.rb +1 -1
  43. data/spec/support/v5.2/config/initializers/sorbet_rails.rb +1 -1
  44. data/spec/support/v5.2/db/migrate/20190620000004_add_more_column_types_to_wands.rb +1 -1
  45. data/spec/support/v5.2/sorbet_test_cases.rb +26 -16
  46. data/spec/support/v6.0/Gemfile.lock +6 -6
  47. data/spec/support/v6.0/config/boot.rb +1 -1
  48. data/spec/support/v6.0/config/initializers/sorbet_rails.rb +1 -1
  49. data/spec/support/v6.0/config/initializers/wrap_parameters.rb +1 -1
  50. data/spec/support/v6.0/db/migrate/20190620000004_add_more_column_types_to_wands.rb +1 -1
  51. data/spec/support/v6.0/sorbet_test_cases.rb +26 -16
  52. data/spec/test_data/v5.0/expected_internal_metadata.rbi +209 -197
  53. data/spec/test_data/v5.0/expected_potion.rbi +208 -196
  54. data/spec/test_data/v5.0/expected_schema_migration.rbi +209 -197
  55. data/spec/test_data/v5.0/expected_spell_book.rbi +208 -196
  56. data/spec/test_data/v5.0/expected_squib.rbi +209 -197
  57. data/spec/test_data/v5.0/expected_wand.rbi +208 -196
  58. data/spec/test_data/v5.0/expected_wizard.rbi +209 -197
  59. data/spec/test_data/v5.0/expected_wizard_wo_spellbook.rbi +209 -197
  60. data/spec/test_data/v5.1/expected_internal_metadata.rbi +213 -213
  61. data/spec/test_data/v5.1/expected_potion.rbi +212 -212
  62. data/spec/test_data/v5.1/expected_schema_migration.rbi +213 -213
  63. data/spec/test_data/v5.1/expected_spell_book.rbi +212 -212
  64. data/spec/test_data/v5.1/expected_squib.rbi +213 -213
  65. data/spec/test_data/v5.1/expected_wand.rbi +212 -212
  66. data/spec/test_data/v5.1/expected_wizard.rbi +213 -213
  67. data/spec/test_data/v5.1/expected_wizard_wo_spellbook.rbi +213 -213
  68. data/spec/test_data/v5.2/expected_attachment.rbi +212 -212
  69. data/spec/test_data/v5.2/expected_blob.rbi +212 -212
  70. data/spec/test_data/v5.2/expected_internal_metadata.rbi +213 -213
  71. data/spec/test_data/v5.2/expected_potion.rbi +212 -212
  72. data/spec/test_data/v5.2/expected_schema_migration.rbi +213 -213
  73. data/spec/test_data/v5.2/expected_spell_book.rbi +212 -212
  74. data/spec/test_data/v5.2/expected_squib.rbi +213 -213
  75. data/spec/test_data/v5.2/expected_wand.rbi +212 -212
  76. data/spec/test_data/v5.2/expected_wizard.rbi +213 -213
  77. data/spec/test_data/v5.2/expected_wizard_wo_spellbook.rbi +213 -213
  78. data/spec/test_data/v6.0/expected_attachment.rbi +244 -244
  79. data/spec/test_data/v6.0/expected_blob.rbi +244 -244
  80. data/spec/test_data/v6.0/expected_internal_metadata.rbi +245 -245
  81. data/spec/test_data/v6.0/expected_potion.rbi +244 -244
  82. data/spec/test_data/v6.0/expected_schema_migration.rbi +245 -245
  83. data/spec/test_data/v6.0/expected_spell_book.rbi +244 -244
  84. data/spec/test_data/v6.0/expected_squib.rbi +245 -245
  85. data/spec/test_data/v6.0/expected_wand.rbi +244 -244
  86. data/spec/test_data/v6.0/expected_wizard.rbi +245 -245
  87. data/spec/test_data/v6.0/expected_wizard_wo_spellbook.rbi +245 -245
  88. metadata +8 -185
  89. data/spec/bin/install.sh +0 -11
  90. data/spec/support/v4.2/.gitignore +0 -17
  91. data/spec/support/v4.2/Gemfile +0 -33
  92. data/spec/support/v4.2/Gemfile.lock +0 -128
  93. data/spec/support/v4.2/README.rdoc +0 -28
  94. data/spec/support/v4.2/Rakefile +0 -6
  95. data/spec/support/v4.2/app/assets/images/.keep +0 -0
  96. data/spec/support/v4.2/app/assets/stylesheets/application.css +0 -15
  97. data/spec/support/v4.2/app/controllers/application_controller.rb +0 -6
  98. data/spec/support/v4.2/app/controllers/concerns/.keep +0 -0
  99. data/spec/support/v4.2/app/helpers/application_helper.rb +0 -3
  100. data/spec/support/v4.2/app/helpers/bar_helper.rb +0 -3
  101. data/spec/support/v4.2/app/helpers/baz_helper.rb +0 -3
  102. data/spec/support/v4.2/app/helpers/foo_helper.rb +0 -3
  103. data/spec/support/v4.2/app/mailers/.keep +0 -0
  104. data/spec/support/v4.2/app/mailers/application_mailer.rb +0 -3
  105. data/spec/support/v4.2/app/mailers/daily_prophet_mailer.rb +0 -9
  106. data/spec/support/v4.2/app/mailers/hogwarts_acceptance_mailer.rb +0 -13
  107. data/spec/support/v4.2/app/models/.keep +0 -0
  108. data/spec/support/v4.2/app/models/application_record.rb +0 -4
  109. data/spec/support/v4.2/app/models/concerns/.keep +0 -0
  110. data/spec/support/v4.2/app/models/concerns/mythical.rb +0 -11
  111. data/spec/support/v4.2/app/models/potion.rb +0 -5
  112. data/spec/support/v4.2/app/models/spell_book.rb +0 -11
  113. data/spec/support/v4.2/app/models/squib.rb +0 -6
  114. data/spec/support/v4.2/app/models/wand.rb +0 -19
  115. data/spec/support/v4.2/app/models/wizard.rb +0 -29
  116. data/spec/support/v4.2/app/views/layouts/application.html.erb +0 -13
  117. data/spec/support/v4.2/bin/bundle +0 -3
  118. data/spec/support/v4.2/bin/rails +0 -4
  119. data/spec/support/v4.2/bin/rake +0 -4
  120. data/spec/support/v4.2/bin/setup +0 -29
  121. data/spec/support/v4.2/config.ru +0 -4
  122. data/spec/support/v4.2/config/application.rb +0 -36
  123. data/spec/support/v4.2/config/boot.rb +0 -4
  124. data/spec/support/v4.2/config/database.yml +0 -25
  125. data/spec/support/v4.2/config/environment.rb +0 -6
  126. data/spec/support/v4.2/config/environments/development.rb +0 -29
  127. data/spec/support/v4.2/config/environments/production.rb +0 -68
  128. data/spec/support/v4.2/config/environments/test.rb +0 -43
  129. data/spec/support/v4.2/config/initializers/backtrace_silencers.rb +0 -8
  130. data/spec/support/v4.2/config/initializers/cookies_serializer.rb +0 -4
  131. data/spec/support/v4.2/config/initializers/filter_parameter_logging.rb +0 -5
  132. data/spec/support/v4.2/config/initializers/inflections.rb +0 -17
  133. data/spec/support/v4.2/config/initializers/mime_types.rb +0 -5
  134. data/spec/support/v4.2/config/initializers/session_store.rb +0 -4
  135. data/spec/support/v4.2/config/initializers/sorbet_rails.rb +0 -3
  136. data/spec/support/v4.2/config/initializers/to_time_preserves_timezone.rb +0 -11
  137. data/spec/support/v4.2/config/initializers/wrap_parameters.rb +0 -15
  138. data/spec/support/v4.2/config/locales/en.yml +0 -23
  139. data/spec/support/v4.2/config/routes.rb +0 -58
  140. data/spec/support/v4.2/db/migrate/20190620000001_create_wizards.rb +0 -13
  141. data/spec/support/v4.2/db/migrate/20190620000002_create_wands.rb +0 -12
  142. data/spec/support/v4.2/db/migrate/20190620000003_create_spell_books.rb +0 -10
  143. data/spec/support/v4.2/db/migrate/20190620000004_add_more_column_types_to_wands.rb +0 -17
  144. data/spec/support/v4.2/db/migrate/20190620000005_add_broom_to_wizard.rb +0 -6
  145. data/spec/support/v4.2/db/migrate/20190620000007_add_type_to_wizard.rb +0 -6
  146. data/spec/support/v4.2/db/schema.rb +0 -49
  147. data/spec/support/v4.2/db/seeds.rb +0 -8
  148. data/spec/support/v4.2/lib/assets/.keep +0 -0
  149. data/spec/support/v4.2/lib/mythical_rbi_plugin.rb +0 -16
  150. data/spec/support/v4.2/lib/tasks/.keep +0 -0
  151. data/spec/support/v4.2/log/.keep +0 -0
  152. data/spec/support/v4.2/sorbet_test_cases.rb +0 -238
  153. data/spec/support/v4.2/test/controllers/.keep +0 -0
  154. data/spec/support/v4.2/test/fixtures/.keep +0 -0
  155. data/spec/support/v4.2/test/helpers/.keep +0 -0
  156. data/spec/support/v4.2/test/integration/.keep +0 -0
  157. data/spec/support/v4.2/test/mailers/.keep +0 -0
  158. data/spec/support/v4.2/test/models/.keep +0 -0
  159. data/spec/support/v4.2/test/test_helper.rb +0 -11
  160. data/spec/support/v4.2/typed-override.yaml +0 -2
  161. data/spec/support/v4.2/vendor/assets/stylesheets/.keep +0 -0
  162. data/spec/test_data/v4.2/expected_application_mailer.rbi +0 -5
  163. data/spec/test_data/v4.2/expected_daily_prophet_mailer.rbi +0 -7
  164. data/spec/test_data/v4.2/expected_helpers.rbi +0 -22
  165. data/spec/test_data/v4.2/expected_helpers_with_application_and_devise_helpers.rbi +0 -29
  166. data/spec/test_data/v4.2/expected_hogwarts_acceptance_mailer.rbi +0 -10
  167. data/spec/test_data/v4.2/expected_no_routes.rbi +0 -4
  168. data/spec/test_data/v4.2/expected_potion.rbi +0 -657
  169. data/spec/test_data/v4.2/expected_routes.rbi +0 -19
  170. data/spec/test_data/v4.2/expected_spell_book.rbi +0 -771
  171. data/spec/test_data/v4.2/expected_squib.rbi +0 -912
  172. data/spec/test_data/v4.2/expected_srb_tc_output.txt +0 -65
  173. data/spec/test_data/v4.2/expected_wand.rbi +0 -873
  174. data/spec/test_data/v4.2/expected_wizard.rbi +0 -912
  175. data/spec/test_data/v4.2/expected_wizard_wo_spellbook.rbi +0 -912
@@ -1,19 +0,0 @@
1
- # typed: strong
2
- # This is an autogenerated file for Rails routes.
3
- # Please run rake rails_rbi:routes to regenerate.
4
- class ActionController::Base
5
- include GeneratedUrlHelpers
6
- end
7
-
8
- module ActionView::Helpers
9
- include GeneratedUrlHelpers
10
- end
11
-
12
- module GeneratedUrlHelpers
13
- # Sigs for route /test/index(.:format)
14
- sig { params(args: T.untyped, kwargs: T.untyped).returns(String) }
15
- def test_index_path(*args, **kwargs); end
16
-
17
- sig { params(args: T.untyped, kwargs: T.untyped).returns(String) }
18
- def test_index_url(*args, **kwargs); end
19
- end
@@ -1,771 +0,0 @@
1
- # This is an autogenerated file for dynamic methods in SpellBook
2
- # Please rerun rake rails_rbi:models[SpellBook] to regenerate.
3
-
4
- # typed: strong
5
- module SpellBook::EnumInstanceMethods
6
- extend T::Sig
7
-
8
- sig { returns(T::Boolean) }
9
- def unclassified?; end
10
-
11
- sig { void }
12
- def unclassified!; end
13
-
14
- sig { returns(T::Boolean) }
15
- def biology?; end
16
-
17
- sig { void }
18
- def biology!; end
19
-
20
- sig { returns(T::Boolean) }
21
- def dark_art?; end
22
-
23
- sig { void }
24
- def dark_art!; end
25
- end
26
-
27
- module SpellBook::ActiveRelation_WhereNot
28
- sig { params(opts: T.untyped, rest: T.untyped).returns(T.self_type) }
29
- def not(opts, *rest); end
30
- end
31
-
32
- module SpellBook::GeneratedAttributeMethods
33
- extend T::Sig
34
-
35
- sig { returns(String) }
36
- def book_type; end
37
-
38
- sig { params(value: T.any(Integer, String, Symbol)).void }
39
- def book_type=(value); end
40
-
41
- sig { returns(T::Boolean) }
42
- def book_type?; end
43
-
44
- sig { returns(Integer) }
45
- def id; end
46
-
47
- sig { params(value: Integer).void }
48
- def id=(value); end
49
-
50
- sig { returns(T::Boolean) }
51
- def id?; end
52
-
53
- sig { returns(T.nilable(String)) }
54
- def name; end
55
-
56
- sig { params(value: T.nilable(String)).void }
57
- def name=(value); end
58
-
59
- sig { returns(T::Boolean) }
60
- def name?; end
61
-
62
- sig { returns(T.nilable(Integer)) }
63
- def wizard_id; end
64
-
65
- sig { params(value: T.nilable(Integer)).void }
66
- def wizard_id=(value); end
67
-
68
- sig { returns(T::Boolean) }
69
- def wizard_id?; end
70
- end
71
-
72
- module SpellBook::GeneratedAssociationMethods
73
- extend T::Sig
74
-
75
- sig { returns(T.nilable(::Wizard)) }
76
- def wizard; end
77
-
78
- sig { params(value: T.nilable(::Wizard)).void }
79
- def wizard=(value); end
80
- end
81
-
82
- module SpellBook::CustomFinderMethods
83
- sig { params(limit: Integer).returns(T::Array[SpellBook]) }
84
- def first_n(limit); end
85
-
86
- sig { params(limit: Integer).returns(T::Array[SpellBook]) }
87
- def last_n(limit); end
88
-
89
- sig { params(args: T::Array[T.any(Integer, String)]).returns(T::Array[SpellBook]) }
90
- def find_n(*args); end
91
-
92
- sig { params(id: Integer).returns(T.nilable(SpellBook)) }
93
- def find_by_id(id); end
94
-
95
- sig { params(id: Integer).returns(SpellBook) }
96
- def find_by_id!(id); end
97
- end
98
-
99
- class SpellBook < ApplicationRecord
100
- include SpellBook::EnumInstanceMethods
101
- include SpellBook::GeneratedAttributeMethods
102
- include SpellBook::GeneratedAssociationMethods
103
- extend SpellBook::CustomFinderMethods
104
- extend T::Sig
105
- extend T::Generic
106
-
107
- sig { returns(T::Hash[T.any(String, Symbol), Integer]) }
108
- def self.book_types; end
109
-
110
- sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
111
- def self.biology(*args); end
112
-
113
- sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
114
- def self.dark_art(*args); end
115
-
116
- sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
117
- def self.unclassified(*args); end
118
-
119
- sig { returns(SpellBook::ActiveRecord_Relation) }
120
- def self.all; end
121
-
122
- sig { params(block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
123
- def self.unscoped(&block); end
124
-
125
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
126
- def self.select(*args, &block); end
127
-
128
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
129
- def self.order(*args, &block); end
130
-
131
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
132
- def self.reorder(*args, &block); end
133
-
134
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
135
- def self.group(*args, &block); end
136
-
137
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
138
- def self.limit(*args, &block); end
139
-
140
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
141
- def self.offset(*args, &block); end
142
-
143
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
144
- def self.joins(*args, &block); end
145
-
146
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
147
- def self.where(*args, &block); end
148
-
149
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
150
- def self.rewhere(*args, &block); end
151
-
152
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
153
- def self.preload(*args, &block); end
154
-
155
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
156
- def self.eager_load(*args, &block); end
157
-
158
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
159
- def self.includes(*args, &block); end
160
-
161
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
162
- def self.from(*args, &block); end
163
-
164
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
165
- def self.lock(*args, &block); end
166
-
167
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
168
- def self.readonly(*args, &block); end
169
-
170
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
171
- def self.having(*args, &block); end
172
-
173
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
174
- def self.create_with(*args, &block); end
175
-
176
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
177
- def self.distinct(*args, &block); end
178
-
179
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
180
- def self.references(*args, &block); end
181
-
182
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
183
- def self.none(*args, &block); end
184
-
185
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
186
- def self.unscope(*args, &block); end
187
-
188
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
189
- def self.except(*args, &block); end
190
-
191
- sig { params(args: T.untyped).returns(SpellBook) }
192
- def self.find(*args); end
193
-
194
- sig { params(args: T.untyped).returns(T.nilable(SpellBook)) }
195
- def self.find_by(*args); end
196
-
197
- sig { params(args: T.untyped).returns(SpellBook) }
198
- def self.find_by!(*args); end
199
-
200
- sig { returns(T.nilable(SpellBook)) }
201
- def self.first; end
202
-
203
- sig { returns(SpellBook) }
204
- def self.first!; end
205
-
206
- sig { returns(T.nilable(SpellBook)) }
207
- def self.second; end
208
-
209
- sig { returns(SpellBook) }
210
- def self.second!; end
211
-
212
- sig { returns(T.nilable(SpellBook)) }
213
- def self.third; end
214
-
215
- sig { returns(SpellBook) }
216
- def self.third!; end
217
-
218
- sig { returns(T.nilable(SpellBook)) }
219
- def self.third_to_last; end
220
-
221
- sig { returns(SpellBook) }
222
- def self.third_to_last!; end
223
-
224
- sig { returns(T.nilable(SpellBook)) }
225
- def self.second_to_last; end
226
-
227
- sig { returns(SpellBook) }
228
- def self.second_to_last!; end
229
-
230
- sig { returns(T.nilable(SpellBook)) }
231
- def self.last; end
232
-
233
- sig { returns(SpellBook) }
234
- def self.last!; end
235
-
236
- sig { params(conditions: T.untyped).returns(T::Boolean) }
237
- def self.exists?(conditions = nil); end
238
-
239
- sig { params(args: T.untyped).returns(T::Boolean) }
240
- def self.any?(*args); end
241
-
242
- sig { params(args: T.untyped).returns(T::Boolean) }
243
- def self.many?(*args); end
244
-
245
- sig { params(args: T.untyped).returns(T::Boolean) }
246
- def self.none?(*args); end
247
-
248
- sig { params(args: T.untyped).returns(T::Boolean) }
249
- def self.one?(*args); end
250
-
251
- sig { params(attributes: T.untyped, block: T.untyped).returns(SpellBook) }
252
- def self.create(attributes = nil, &block); end
253
-
254
- sig { params(attributes: T.untyped, block: T.untyped).returns(SpellBook) }
255
- def self.create!(attributes = nil, &block); end
256
-
257
- sig { params(attributes: T.untyped, block: T.untyped).returns(SpellBook) }
258
- def self.new(attributes = nil, &block); end
259
- end
260
-
261
- class SpellBook::ActiveRecord_Relation < ActiveRecord::Relation
262
- include SpellBook::ActiveRelation_WhereNot
263
- include SpellBook::CustomFinderMethods
264
- include Enumerable
265
- extend T::Sig
266
- extend T::Generic
267
- Elem = type_member(fixed: SpellBook)
268
-
269
- sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
270
- def biology(*args); end
271
-
272
- sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
273
- def dark_art(*args); end
274
-
275
- sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
276
- def unclassified(*args); end
277
-
278
- sig { returns(SpellBook::ActiveRecord_Relation) }
279
- def all; end
280
-
281
- sig { params(block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
282
- def unscoped(&block); end
283
-
284
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
285
- def select(*args, &block); end
286
-
287
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
288
- def order(*args, &block); end
289
-
290
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
291
- def reorder(*args, &block); end
292
-
293
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
294
- def group(*args, &block); end
295
-
296
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
297
- def limit(*args, &block); end
298
-
299
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
300
- def offset(*args, &block); end
301
-
302
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
303
- def joins(*args, &block); end
304
-
305
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
306
- def where(*args, &block); end
307
-
308
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
309
- def rewhere(*args, &block); end
310
-
311
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
312
- def preload(*args, &block); end
313
-
314
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
315
- def eager_load(*args, &block); end
316
-
317
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
318
- def includes(*args, &block); end
319
-
320
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
321
- def from(*args, &block); end
322
-
323
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
324
- def lock(*args, &block); end
325
-
326
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
327
- def readonly(*args, &block); end
328
-
329
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
330
- def having(*args, &block); end
331
-
332
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
333
- def create_with(*args, &block); end
334
-
335
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
336
- def distinct(*args, &block); end
337
-
338
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
339
- def references(*args, &block); end
340
-
341
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
342
- def none(*args, &block); end
343
-
344
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
345
- def unscope(*args, &block); end
346
-
347
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
348
- def except(*args, &block); end
349
-
350
- sig { params(args: T.untyped).returns(SpellBook) }
351
- def find(*args); end
352
-
353
- sig { params(args: T.untyped).returns(T.nilable(SpellBook)) }
354
- def find_by(*args); end
355
-
356
- sig { params(args: T.untyped).returns(SpellBook) }
357
- def find_by!(*args); end
358
-
359
- sig { returns(T.nilable(SpellBook)) }
360
- def first; end
361
-
362
- sig { returns(SpellBook) }
363
- def first!; end
364
-
365
- sig { returns(T.nilable(SpellBook)) }
366
- def second; end
367
-
368
- sig { returns(SpellBook) }
369
- def second!; end
370
-
371
- sig { returns(T.nilable(SpellBook)) }
372
- def third; end
373
-
374
- sig { returns(SpellBook) }
375
- def third!; end
376
-
377
- sig { returns(T.nilable(SpellBook)) }
378
- def third_to_last; end
379
-
380
- sig { returns(SpellBook) }
381
- def third_to_last!; end
382
-
383
- sig { returns(T.nilable(SpellBook)) }
384
- def second_to_last; end
385
-
386
- sig { returns(SpellBook) }
387
- def second_to_last!; end
388
-
389
- sig { returns(T.nilable(SpellBook)) }
390
- def last; end
391
-
392
- sig { returns(SpellBook) }
393
- def last!; end
394
-
395
- sig { params(conditions: T.untyped).returns(T::Boolean) }
396
- def exists?(conditions = nil); end
397
-
398
- sig { params(args: T.untyped).returns(T::Boolean) }
399
- def any?(*args); end
400
-
401
- sig { params(args: T.untyped).returns(T::Boolean) }
402
- def many?(*args); end
403
-
404
- sig { params(args: T.untyped).returns(T::Boolean) }
405
- def none?(*args); end
406
-
407
- sig { params(args: T.untyped).returns(T::Boolean) }
408
- def one?(*args); end
409
-
410
- sig { override.params(block: T.proc.params(e: SpellBook).void).returns(T::Array[SpellBook]) }
411
- def each(&block); end
412
-
413
- sig { params(level: T.nilable(Integer)).returns(T::Array[SpellBook]) }
414
- def flatten(level); end
415
-
416
- sig { returns(T::Array[SpellBook]) }
417
- def to_a; end
418
-
419
- sig do
420
- type_parameters(:U).params(
421
- blk: T.proc.params(arg0: Elem).returns(T.type_parameter(:U)),
422
- )
423
- .returns(T::Array[T.type_parameter(:U)])
424
- end
425
- def map(&blk); end
426
- end
427
-
428
- class SpellBook::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelation
429
- include SpellBook::ActiveRelation_WhereNot
430
- include SpellBook::CustomFinderMethods
431
- include Enumerable
432
- extend T::Sig
433
- extend T::Generic
434
- Elem = type_member(fixed: SpellBook)
435
-
436
- sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
437
- def biology(*args); end
438
-
439
- sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
440
- def dark_art(*args); end
441
-
442
- sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
443
- def unclassified(*args); end
444
-
445
- sig { returns(SpellBook::ActiveRecord_AssociationRelation) }
446
- def all; end
447
-
448
- sig { params(block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
449
- def unscoped(&block); end
450
-
451
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
452
- def select(*args, &block); end
453
-
454
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
455
- def order(*args, &block); end
456
-
457
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
458
- def reorder(*args, &block); end
459
-
460
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
461
- def group(*args, &block); end
462
-
463
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
464
- def limit(*args, &block); end
465
-
466
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
467
- def offset(*args, &block); end
468
-
469
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
470
- def joins(*args, &block); end
471
-
472
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
473
- def where(*args, &block); end
474
-
475
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
476
- def rewhere(*args, &block); end
477
-
478
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
479
- def preload(*args, &block); end
480
-
481
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
482
- def eager_load(*args, &block); end
483
-
484
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
485
- def includes(*args, &block); end
486
-
487
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
488
- def from(*args, &block); end
489
-
490
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
491
- def lock(*args, &block); end
492
-
493
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
494
- def readonly(*args, &block); end
495
-
496
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
497
- def having(*args, &block); end
498
-
499
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
500
- def create_with(*args, &block); end
501
-
502
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
503
- def distinct(*args, &block); end
504
-
505
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
506
- def references(*args, &block); end
507
-
508
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
509
- def none(*args, &block); end
510
-
511
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
512
- def unscope(*args, &block); end
513
-
514
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
515
- def except(*args, &block); end
516
-
517
- sig { params(args: T.untyped).returns(SpellBook) }
518
- def find(*args); end
519
-
520
- sig { params(args: T.untyped).returns(T.nilable(SpellBook)) }
521
- def find_by(*args); end
522
-
523
- sig { params(args: T.untyped).returns(SpellBook) }
524
- def find_by!(*args); end
525
-
526
- sig { returns(T.nilable(SpellBook)) }
527
- def first; end
528
-
529
- sig { returns(SpellBook) }
530
- def first!; end
531
-
532
- sig { returns(T.nilable(SpellBook)) }
533
- def second; end
534
-
535
- sig { returns(SpellBook) }
536
- def second!; end
537
-
538
- sig { returns(T.nilable(SpellBook)) }
539
- def third; end
540
-
541
- sig { returns(SpellBook) }
542
- def third!; end
543
-
544
- sig { returns(T.nilable(SpellBook)) }
545
- def third_to_last; end
546
-
547
- sig { returns(SpellBook) }
548
- def third_to_last!; end
549
-
550
- sig { returns(T.nilable(SpellBook)) }
551
- def second_to_last; end
552
-
553
- sig { returns(SpellBook) }
554
- def second_to_last!; end
555
-
556
- sig { returns(T.nilable(SpellBook)) }
557
- def last; end
558
-
559
- sig { returns(SpellBook) }
560
- def last!; end
561
-
562
- sig { params(conditions: T.untyped).returns(T::Boolean) }
563
- def exists?(conditions = nil); end
564
-
565
- sig { params(args: T.untyped).returns(T::Boolean) }
566
- def any?(*args); end
567
-
568
- sig { params(args: T.untyped).returns(T::Boolean) }
569
- def many?(*args); end
570
-
571
- sig { params(args: T.untyped).returns(T::Boolean) }
572
- def none?(*args); end
573
-
574
- sig { params(args: T.untyped).returns(T::Boolean) }
575
- def one?(*args); end
576
-
577
- sig { override.params(block: T.proc.params(e: SpellBook).void).returns(T::Array[SpellBook]) }
578
- def each(&block); end
579
-
580
- sig { params(level: T.nilable(Integer)).returns(T::Array[SpellBook]) }
581
- def flatten(level); end
582
-
583
- sig { returns(T::Array[SpellBook]) }
584
- def to_a; end
585
-
586
- sig do
587
- type_parameters(:U).params(
588
- blk: T.proc.params(arg0: Elem).returns(T.type_parameter(:U)),
589
- )
590
- .returns(T::Array[T.type_parameter(:U)])
591
- end
592
- def map(&blk); end
593
- end
594
-
595
- class SpellBook::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associations::CollectionProxy
596
- include SpellBook::CustomFinderMethods
597
- include Enumerable
598
- extend T::Sig
599
- extend T::Generic
600
- Elem = type_member(fixed: SpellBook)
601
-
602
- sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
603
- def biology(*args); end
604
-
605
- sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
606
- def dark_art(*args); end
607
-
608
- sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
609
- def unclassified(*args); end
610
-
611
- sig { returns(SpellBook::ActiveRecord_AssociationRelation) }
612
- def all; end
613
-
614
- sig { params(block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
615
- def unscoped(&block); end
616
-
617
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
618
- def select(*args, &block); end
619
-
620
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
621
- def order(*args, &block); end
622
-
623
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
624
- def reorder(*args, &block); end
625
-
626
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
627
- def group(*args, &block); end
628
-
629
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
630
- def limit(*args, &block); end
631
-
632
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
633
- def offset(*args, &block); end
634
-
635
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
636
- def joins(*args, &block); end
637
-
638
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
639
- def where(*args, &block); end
640
-
641
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
642
- def rewhere(*args, &block); end
643
-
644
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
645
- def preload(*args, &block); end
646
-
647
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
648
- def eager_load(*args, &block); end
649
-
650
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
651
- def includes(*args, &block); end
652
-
653
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
654
- def from(*args, &block); end
655
-
656
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
657
- def lock(*args, &block); end
658
-
659
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
660
- def readonly(*args, &block); end
661
-
662
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
663
- def having(*args, &block); end
664
-
665
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
666
- def create_with(*args, &block); end
667
-
668
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
669
- def distinct(*args, &block); end
670
-
671
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
672
- def references(*args, &block); end
673
-
674
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
675
- def none(*args, &block); end
676
-
677
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
678
- def unscope(*args, &block); end
679
-
680
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
681
- def except(*args, &block); end
682
-
683
- sig { params(args: T.untyped).returns(SpellBook) }
684
- def find(*args); end
685
-
686
- sig { params(args: T.untyped).returns(T.nilable(SpellBook)) }
687
- def find_by(*args); end
688
-
689
- sig { params(args: T.untyped).returns(SpellBook) }
690
- def find_by!(*args); end
691
-
692
- sig { returns(T.nilable(SpellBook)) }
693
- def first; end
694
-
695
- sig { returns(SpellBook) }
696
- def first!; end
697
-
698
- sig { returns(T.nilable(SpellBook)) }
699
- def second; end
700
-
701
- sig { returns(SpellBook) }
702
- def second!; end
703
-
704
- sig { returns(T.nilable(SpellBook)) }
705
- def third; end
706
-
707
- sig { returns(SpellBook) }
708
- def third!; end
709
-
710
- sig { returns(T.nilable(SpellBook)) }
711
- def third_to_last; end
712
-
713
- sig { returns(SpellBook) }
714
- def third_to_last!; end
715
-
716
- sig { returns(T.nilable(SpellBook)) }
717
- def second_to_last; end
718
-
719
- sig { returns(SpellBook) }
720
- def second_to_last!; end
721
-
722
- sig { returns(T.nilable(SpellBook)) }
723
- def last; end
724
-
725
- sig { returns(SpellBook) }
726
- def last!; end
727
-
728
- sig { params(conditions: T.untyped).returns(T::Boolean) }
729
- def exists?(conditions = nil); end
730
-
731
- sig { params(args: T.untyped).returns(T::Boolean) }
732
- def any?(*args); end
733
-
734
- sig { params(args: T.untyped).returns(T::Boolean) }
735
- def many?(*args); end
736
-
737
- sig { params(args: T.untyped).returns(T::Boolean) }
738
- def none?(*args); end
739
-
740
- sig { params(args: T.untyped).returns(T::Boolean) }
741
- def one?(*args); end
742
-
743
- sig { override.params(block: T.proc.params(e: SpellBook).void).returns(T::Array[SpellBook]) }
744
- def each(&block); end
745
-
746
- sig { params(level: T.nilable(Integer)).returns(T::Array[SpellBook]) }
747
- def flatten(level); end
748
-
749
- sig { returns(T::Array[SpellBook]) }
750
- def to_a; end
751
-
752
- sig do
753
- type_parameters(:U).params(
754
- blk: T.proc.params(arg0: Elem).returns(T.type_parameter(:U)),
755
- )
756
- .returns(T::Array[T.type_parameter(:U)])
757
- end
758
- def map(&blk); end
759
-
760
- sig { params(records: T.any(SpellBook, T::Array[SpellBook])).returns(T.self_type) }
761
- def <<(*records); end
762
-
763
- sig { params(records: T.any(SpellBook, T::Array[SpellBook])).returns(T.self_type) }
764
- def append(*records); end
765
-
766
- sig { params(records: T.any(SpellBook, T::Array[SpellBook])).returns(T.self_type) }
767
- def push(*records); end
768
-
769
- sig { params(records: T.any(SpellBook, T::Array[SpellBook])).returns(T.self_type) }
770
- def concat(*records); end
771
- end