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
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,11 +0,0 @@
1
- # typed: strict
2
- ENV['RAILS_ENV'] ||= 'test'
3
- require File.expand_path('../../config/environment', __FILE__)
4
- require 'rails/test_help'
5
-
6
- class ActiveSupport::TestCase
7
- # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
8
- fixtures :all
9
-
10
- # Add more helper methods to be used by all tests here...
11
- end
@@ -1,2 +0,0 @@
1
- true:
2
- - ./sorbet_test_cases.rb
@@ -1,5 +0,0 @@
1
- # typed: strong
2
- # This is an autogenerated file for Rails helpers.
3
- # Please rerun rake rails_rbi:mailers to regenerate.
4
- class ApplicationMailer
5
- end
@@ -1,7 +0,0 @@
1
- # typed: strong
2
- # This is an autogenerated file for Rails helpers.
3
- # Please rerun rake rails_rbi:mailers to regenerate.
4
- class DailyProphetMailer
5
- sig { params(wizards: T::Array[Wizard], hotnews_only: T::Boolean).returns(ActionMailer::MessageDelivery) }
6
- def self.notify_subscribers(wizards, hotnews_only); end
7
- end
@@ -1,22 +0,0 @@
1
- # typed: strong
2
- # This is an autogenerated file for Rails helpers.
3
- # Please rerun rake rails_rbi:helpers to regenerate.
4
- module ApplicationHelper
5
- include Kernel
6
- include ActionView::Helpers
7
- end
8
-
9
- module BarHelper
10
- include Kernel
11
- include ActionView::Helpers
12
- end
13
-
14
- module BazHelper
15
- include Kernel
16
- include ActionView::Helpers
17
- end
18
-
19
- module FooHelper
20
- include Kernel
21
- include ActionView::Helpers
22
- end
@@ -1,29 +0,0 @@
1
- # typed: strong
2
- # This is an autogenerated file for Rails helpers.
3
- # Please rerun rake rails_rbi:helpers to regenerate.
4
- module ApplicationHelper
5
- include Kernel
6
- include ActionView::Helpers
7
- include DeviseHelper
8
- end
9
-
10
- module BarHelper
11
- include Kernel
12
- include ActionView::Helpers
13
- include ApplicationHelper
14
- include DeviseHelper
15
- end
16
-
17
- module BazHelper
18
- include Kernel
19
- include ActionView::Helpers
20
- include ApplicationHelper
21
- include DeviseHelper
22
- end
23
-
24
- module FooHelper
25
- include Kernel
26
- include ActionView::Helpers
27
- include ApplicationHelper
28
- include DeviseHelper
29
- end
@@ -1,10 +0,0 @@
1
- # typed: strong
2
- # This is an autogenerated file for Rails helpers.
3
- # Please rerun rake rails_rbi:mailers to regenerate.
4
- class HogwartsAcceptanceMailer
5
- sig { params(student: Wizard).returns(ActionMailer::MessageDelivery) }
6
- def self.notify(student); end
7
-
8
- sig { params(student: T.untyped).returns(ActionMailer::MessageDelivery) }
9
- def self.notify_retry(student); end
10
- end
@@ -1,4 +0,0 @@
1
- # typed: strong
2
- # You do not have any routes defined!
3
- # Please add some routes in config/routes.rb.
4
- # For more information about routes, see the Rails guide: https://guides.rubyonrails.org/routing.html.
@@ -1,657 +0,0 @@
1
- # This is an autogenerated file for dynamic methods in Potion
2
- # Please rerun rake rails_rbi:models[Potion] to regenerate.
3
-
4
- # typed: strong
5
- module Potion::ActiveRelation_WhereNot
6
- sig { params(opts: T.untyped, rest: T.untyped).returns(T.self_type) }
7
- def not(opts, *rest); end
8
- end
9
-
10
- module Potion::CustomFinderMethods
11
- sig { params(limit: Integer).returns(T::Array[Potion]) }
12
- def first_n(limit); end
13
-
14
- sig { params(limit: Integer).returns(T::Array[Potion]) }
15
- def last_n(limit); end
16
-
17
- sig { params(args: T::Array[T.any(Integer, String)]).returns(T::Array[Potion]) }
18
- def find_n(*args); end
19
-
20
- sig { params(id: Integer).returns(T.nilable(Potion)) }
21
- def find_by_id(id); end
22
-
23
- sig { params(id: Integer).returns(Potion) }
24
- def find_by_id!(id); end
25
- end
26
-
27
- class Potion < ApplicationRecord
28
- extend Potion::CustomFinderMethods
29
- extend T::Sig
30
- extend T::Generic
31
-
32
- sig { returns(Potion::ActiveRecord_Relation) }
33
- def self.all; end
34
-
35
- sig { params(block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
36
- def self.unscoped(&block); end
37
-
38
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
39
- def self.select(*args, &block); end
40
-
41
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
42
- def self.order(*args, &block); end
43
-
44
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
45
- def self.reorder(*args, &block); end
46
-
47
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
48
- def self.group(*args, &block); end
49
-
50
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
51
- def self.limit(*args, &block); end
52
-
53
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
54
- def self.offset(*args, &block); end
55
-
56
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
57
- def self.joins(*args, &block); end
58
-
59
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
60
- def self.where(*args, &block); end
61
-
62
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
63
- def self.rewhere(*args, &block); end
64
-
65
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
66
- def self.preload(*args, &block); end
67
-
68
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
69
- def self.eager_load(*args, &block); end
70
-
71
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
72
- def self.includes(*args, &block); end
73
-
74
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
75
- def self.from(*args, &block); end
76
-
77
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
78
- def self.lock(*args, &block); end
79
-
80
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
81
- def self.readonly(*args, &block); end
82
-
83
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
84
- def self.having(*args, &block); end
85
-
86
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
87
- def self.create_with(*args, &block); end
88
-
89
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
90
- def self.distinct(*args, &block); end
91
-
92
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
93
- def self.references(*args, &block); end
94
-
95
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
96
- def self.none(*args, &block); end
97
-
98
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
99
- def self.unscope(*args, &block); end
100
-
101
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
102
- def self.except(*args, &block); end
103
-
104
- sig { params(args: T.untyped).returns(Potion) }
105
- def self.find(*args); end
106
-
107
- sig { params(args: T.untyped).returns(T.nilable(Potion)) }
108
- def self.find_by(*args); end
109
-
110
- sig { params(args: T.untyped).returns(Potion) }
111
- def self.find_by!(*args); end
112
-
113
- sig { returns(T.nilable(Potion)) }
114
- def self.first; end
115
-
116
- sig { returns(Potion) }
117
- def self.first!; end
118
-
119
- sig { returns(T.nilable(Potion)) }
120
- def self.second; end
121
-
122
- sig { returns(Potion) }
123
- def self.second!; end
124
-
125
- sig { returns(T.nilable(Potion)) }
126
- def self.third; end
127
-
128
- sig { returns(Potion) }
129
- def self.third!; end
130
-
131
- sig { returns(T.nilable(Potion)) }
132
- def self.third_to_last; end
133
-
134
- sig { returns(Potion) }
135
- def self.third_to_last!; end
136
-
137
- sig { returns(T.nilable(Potion)) }
138
- def self.second_to_last; end
139
-
140
- sig { returns(Potion) }
141
- def self.second_to_last!; end
142
-
143
- sig { returns(T.nilable(Potion)) }
144
- def self.last; end
145
-
146
- sig { returns(Potion) }
147
- def self.last!; end
148
-
149
- sig { params(conditions: T.untyped).returns(T::Boolean) }
150
- def self.exists?(conditions = nil); end
151
-
152
- sig { params(args: T.untyped).returns(T::Boolean) }
153
- def self.any?(*args); end
154
-
155
- sig { params(args: T.untyped).returns(T::Boolean) }
156
- def self.many?(*args); end
157
-
158
- sig { params(args: T.untyped).returns(T::Boolean) }
159
- def self.none?(*args); end
160
-
161
- sig { params(args: T.untyped).returns(T::Boolean) }
162
- def self.one?(*args); end
163
-
164
- sig { params(attributes: T.untyped, block: T.untyped).returns(Potion) }
165
- def self.create(attributes = nil, &block); end
166
-
167
- sig { params(attributes: T.untyped, block: T.untyped).returns(Potion) }
168
- def self.create!(attributes = nil, &block); end
169
-
170
- sig { params(attributes: T.untyped, block: T.untyped).returns(Potion) }
171
- def self.new(attributes = nil, &block); end
172
- end
173
-
174
- class Potion::ActiveRecord_Relation < ActiveRecord::Relation
175
- include Potion::ActiveRelation_WhereNot
176
- include Potion::CustomFinderMethods
177
- include Enumerable
178
- extend T::Sig
179
- extend T::Generic
180
- Elem = type_member(fixed: Potion)
181
-
182
- sig { returns(Potion::ActiveRecord_Relation) }
183
- def all; end
184
-
185
- sig { params(block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
186
- def unscoped(&block); end
187
-
188
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
189
- def select(*args, &block); end
190
-
191
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
192
- def order(*args, &block); end
193
-
194
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
195
- def reorder(*args, &block); end
196
-
197
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
198
- def group(*args, &block); end
199
-
200
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
201
- def limit(*args, &block); end
202
-
203
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
204
- def offset(*args, &block); end
205
-
206
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
207
- def joins(*args, &block); end
208
-
209
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
210
- def where(*args, &block); end
211
-
212
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
213
- def rewhere(*args, &block); end
214
-
215
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
216
- def preload(*args, &block); end
217
-
218
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
219
- def eager_load(*args, &block); end
220
-
221
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
222
- def includes(*args, &block); end
223
-
224
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
225
- def from(*args, &block); end
226
-
227
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
228
- def lock(*args, &block); end
229
-
230
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
231
- def readonly(*args, &block); end
232
-
233
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
234
- def having(*args, &block); end
235
-
236
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
237
- def create_with(*args, &block); end
238
-
239
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
240
- def distinct(*args, &block); end
241
-
242
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
243
- def references(*args, &block); end
244
-
245
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
246
- def none(*args, &block); end
247
-
248
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
249
- def unscope(*args, &block); end
250
-
251
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_Relation) }
252
- def except(*args, &block); end
253
-
254
- sig { params(args: T.untyped).returns(Potion) }
255
- def find(*args); end
256
-
257
- sig { params(args: T.untyped).returns(T.nilable(Potion)) }
258
- def find_by(*args); end
259
-
260
- sig { params(args: T.untyped).returns(Potion) }
261
- def find_by!(*args); end
262
-
263
- sig { returns(T.nilable(Potion)) }
264
- def first; end
265
-
266
- sig { returns(Potion) }
267
- def first!; end
268
-
269
- sig { returns(T.nilable(Potion)) }
270
- def second; end
271
-
272
- sig { returns(Potion) }
273
- def second!; end
274
-
275
- sig { returns(T.nilable(Potion)) }
276
- def third; end
277
-
278
- sig { returns(Potion) }
279
- def third!; end
280
-
281
- sig { returns(T.nilable(Potion)) }
282
- def third_to_last; end
283
-
284
- sig { returns(Potion) }
285
- def third_to_last!; end
286
-
287
- sig { returns(T.nilable(Potion)) }
288
- def second_to_last; end
289
-
290
- sig { returns(Potion) }
291
- def second_to_last!; end
292
-
293
- sig { returns(T.nilable(Potion)) }
294
- def last; end
295
-
296
- sig { returns(Potion) }
297
- def last!; end
298
-
299
- sig { params(conditions: T.untyped).returns(T::Boolean) }
300
- def exists?(conditions = nil); end
301
-
302
- sig { params(args: T.untyped).returns(T::Boolean) }
303
- def any?(*args); end
304
-
305
- sig { params(args: T.untyped).returns(T::Boolean) }
306
- def many?(*args); end
307
-
308
- sig { params(args: T.untyped).returns(T::Boolean) }
309
- def none?(*args); end
310
-
311
- sig { params(args: T.untyped).returns(T::Boolean) }
312
- def one?(*args); end
313
-
314
- sig { override.params(block: T.proc.params(e: Potion).void).returns(T::Array[Potion]) }
315
- def each(&block); end
316
-
317
- sig { params(level: T.nilable(Integer)).returns(T::Array[Potion]) }
318
- def flatten(level); end
319
-
320
- sig { returns(T::Array[Potion]) }
321
- def to_a; end
322
-
323
- sig do
324
- type_parameters(:U).params(
325
- blk: T.proc.params(arg0: Elem).returns(T.type_parameter(:U)),
326
- )
327
- .returns(T::Array[T.type_parameter(:U)])
328
- end
329
- def map(&blk); end
330
- end
331
-
332
- class Potion::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelation
333
- include Potion::ActiveRelation_WhereNot
334
- include Potion::CustomFinderMethods
335
- include Enumerable
336
- extend T::Sig
337
- extend T::Generic
338
- Elem = type_member(fixed: Potion)
339
-
340
- sig { returns(Potion::ActiveRecord_AssociationRelation) }
341
- def all; end
342
-
343
- sig { params(block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
344
- def unscoped(&block); end
345
-
346
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
347
- def select(*args, &block); end
348
-
349
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
350
- def order(*args, &block); end
351
-
352
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
353
- def reorder(*args, &block); end
354
-
355
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
356
- def group(*args, &block); end
357
-
358
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
359
- def limit(*args, &block); end
360
-
361
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
362
- def offset(*args, &block); end
363
-
364
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
365
- def joins(*args, &block); end
366
-
367
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
368
- def where(*args, &block); end
369
-
370
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
371
- def rewhere(*args, &block); end
372
-
373
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
374
- def preload(*args, &block); end
375
-
376
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
377
- def eager_load(*args, &block); end
378
-
379
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
380
- def includes(*args, &block); end
381
-
382
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
383
- def from(*args, &block); end
384
-
385
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
386
- def lock(*args, &block); end
387
-
388
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
389
- def readonly(*args, &block); end
390
-
391
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
392
- def having(*args, &block); end
393
-
394
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
395
- def create_with(*args, &block); end
396
-
397
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
398
- def distinct(*args, &block); end
399
-
400
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
401
- def references(*args, &block); end
402
-
403
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
404
- def none(*args, &block); end
405
-
406
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
407
- def unscope(*args, &block); end
408
-
409
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
410
- def except(*args, &block); end
411
-
412
- sig { params(args: T.untyped).returns(Potion) }
413
- def find(*args); end
414
-
415
- sig { params(args: T.untyped).returns(T.nilable(Potion)) }
416
- def find_by(*args); end
417
-
418
- sig { params(args: T.untyped).returns(Potion) }
419
- def find_by!(*args); end
420
-
421
- sig { returns(T.nilable(Potion)) }
422
- def first; end
423
-
424
- sig { returns(Potion) }
425
- def first!; end
426
-
427
- sig { returns(T.nilable(Potion)) }
428
- def second; end
429
-
430
- sig { returns(Potion) }
431
- def second!; end
432
-
433
- sig { returns(T.nilable(Potion)) }
434
- def third; end
435
-
436
- sig { returns(Potion) }
437
- def third!; end
438
-
439
- sig { returns(T.nilable(Potion)) }
440
- def third_to_last; end
441
-
442
- sig { returns(Potion) }
443
- def third_to_last!; end
444
-
445
- sig { returns(T.nilable(Potion)) }
446
- def second_to_last; end
447
-
448
- sig { returns(Potion) }
449
- def second_to_last!; end
450
-
451
- sig { returns(T.nilable(Potion)) }
452
- def last; end
453
-
454
- sig { returns(Potion) }
455
- def last!; end
456
-
457
- sig { params(conditions: T.untyped).returns(T::Boolean) }
458
- def exists?(conditions = nil); end
459
-
460
- sig { params(args: T.untyped).returns(T::Boolean) }
461
- def any?(*args); end
462
-
463
- sig { params(args: T.untyped).returns(T::Boolean) }
464
- def many?(*args); end
465
-
466
- sig { params(args: T.untyped).returns(T::Boolean) }
467
- def none?(*args); end
468
-
469
- sig { params(args: T.untyped).returns(T::Boolean) }
470
- def one?(*args); end
471
-
472
- sig { override.params(block: T.proc.params(e: Potion).void).returns(T::Array[Potion]) }
473
- def each(&block); end
474
-
475
- sig { params(level: T.nilable(Integer)).returns(T::Array[Potion]) }
476
- def flatten(level); end
477
-
478
- sig { returns(T::Array[Potion]) }
479
- def to_a; end
480
-
481
- sig do
482
- type_parameters(:U).params(
483
- blk: T.proc.params(arg0: Elem).returns(T.type_parameter(:U)),
484
- )
485
- .returns(T::Array[T.type_parameter(:U)])
486
- end
487
- def map(&blk); end
488
- end
489
-
490
- class Potion::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associations::CollectionProxy
491
- include Potion::CustomFinderMethods
492
- include Enumerable
493
- extend T::Sig
494
- extend T::Generic
495
- Elem = type_member(fixed: Potion)
496
-
497
- sig { returns(Potion::ActiveRecord_AssociationRelation) }
498
- def all; end
499
-
500
- sig { params(block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
501
- def unscoped(&block); end
502
-
503
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
504
- def select(*args, &block); end
505
-
506
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
507
- def order(*args, &block); end
508
-
509
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
510
- def reorder(*args, &block); end
511
-
512
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
513
- def group(*args, &block); end
514
-
515
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
516
- def limit(*args, &block); end
517
-
518
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
519
- def offset(*args, &block); end
520
-
521
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
522
- def joins(*args, &block); end
523
-
524
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
525
- def where(*args, &block); end
526
-
527
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
528
- def rewhere(*args, &block); end
529
-
530
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
531
- def preload(*args, &block); end
532
-
533
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
534
- def eager_load(*args, &block); end
535
-
536
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
537
- def includes(*args, &block); end
538
-
539
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
540
- def from(*args, &block); end
541
-
542
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
543
- def lock(*args, &block); end
544
-
545
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
546
- def readonly(*args, &block); end
547
-
548
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
549
- def having(*args, &block); end
550
-
551
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
552
- def create_with(*args, &block); end
553
-
554
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
555
- def distinct(*args, &block); end
556
-
557
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
558
- def references(*args, &block); end
559
-
560
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
561
- def none(*args, &block); end
562
-
563
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
564
- def unscope(*args, &block); end
565
-
566
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::ActiveRecord_AssociationRelation) }
567
- def except(*args, &block); end
568
-
569
- sig { params(args: T.untyped).returns(Potion) }
570
- def find(*args); end
571
-
572
- sig { params(args: T.untyped).returns(T.nilable(Potion)) }
573
- def find_by(*args); end
574
-
575
- sig { params(args: T.untyped).returns(Potion) }
576
- def find_by!(*args); end
577
-
578
- sig { returns(T.nilable(Potion)) }
579
- def first; end
580
-
581
- sig { returns(Potion) }
582
- def first!; end
583
-
584
- sig { returns(T.nilable(Potion)) }
585
- def second; end
586
-
587
- sig { returns(Potion) }
588
- def second!; end
589
-
590
- sig { returns(T.nilable(Potion)) }
591
- def third; end
592
-
593
- sig { returns(Potion) }
594
- def third!; end
595
-
596
- sig { returns(T.nilable(Potion)) }
597
- def third_to_last; end
598
-
599
- sig { returns(Potion) }
600
- def third_to_last!; end
601
-
602
- sig { returns(T.nilable(Potion)) }
603
- def second_to_last; end
604
-
605
- sig { returns(Potion) }
606
- def second_to_last!; end
607
-
608
- sig { returns(T.nilable(Potion)) }
609
- def last; end
610
-
611
- sig { returns(Potion) }
612
- def last!; end
613
-
614
- sig { params(conditions: T.untyped).returns(T::Boolean) }
615
- def exists?(conditions = nil); end
616
-
617
- sig { params(args: T.untyped).returns(T::Boolean) }
618
- def any?(*args); end
619
-
620
- sig { params(args: T.untyped).returns(T::Boolean) }
621
- def many?(*args); end
622
-
623
- sig { params(args: T.untyped).returns(T::Boolean) }
624
- def none?(*args); end
625
-
626
- sig { params(args: T.untyped).returns(T::Boolean) }
627
- def one?(*args); end
628
-
629
- sig { override.params(block: T.proc.params(e: Potion).void).returns(T::Array[Potion]) }
630
- def each(&block); end
631
-
632
- sig { params(level: T.nilable(Integer)).returns(T::Array[Potion]) }
633
- def flatten(level); end
634
-
635
- sig { returns(T::Array[Potion]) }
636
- def to_a; end
637
-
638
- sig do
639
- type_parameters(:U).params(
640
- blk: T.proc.params(arg0: Elem).returns(T.type_parameter(:U)),
641
- )
642
- .returns(T::Array[T.type_parameter(:U)])
643
- end
644
- def map(&blk); end
645
-
646
- sig { params(records: T.any(Potion, T::Array[Potion])).returns(T.self_type) }
647
- def <<(*records); end
648
-
649
- sig { params(records: T.any(Potion, T::Array[Potion])).returns(T.self_type) }
650
- def append(*records); end
651
-
652
- sig { params(records: T.any(Potion, T::Array[Potion])).returns(T.self_type) }
653
- def push(*records); end
654
-
655
- sig { params(records: T.any(Potion, T::Array[Potion])).returns(T.self_type) }
656
- def concat(*records); end
657
- end