sorbet-rails 0.1.3 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (153) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +18 -17
  3. data/.travis.yml +19 -0
  4. data/Gemfile +15 -0
  5. data/README.md +36 -20
  6. data/lib/sorbet-rails/model_rbi_formatter.rb +74 -85
  7. data/lib/sorbet-rails/routes_rbi_formatter.rb +9 -8
  8. data/lib/sorbet-rails/tasks/rails_rbi.rake +1 -0
  9. data/{rbis → rbi}/activerecord.rbi +17 -0
  10. data/sorbet-rails.gemspec +6 -7
  11. data/spec/bin/reset_test_data.sh +5 -0
  12. data/spec/bin/run_all_specs.sh +9 -0
  13. data/spec/model_rbi_formatter_spec.rb +14 -16
  14. data/spec/rails_helper.rb +25 -1
  15. data/spec/routes_rbi_formatter_spec.rb +12 -6
  16. data/spec/spec_helper.rb +5 -0
  17. data/spec/support/5.1.7/Gemfile +41 -0
  18. data/spec/support/{rails_app → 5.1.7}/README.md +0 -0
  19. data/spec/support/{rails_app → 5.1.7}/Rakefile +0 -0
  20. data/spec/support/{rails_app → 5.1.7}/app/channels/application_cable/channel.rb +0 -0
  21. data/spec/support/{rails_app → 5.1.7}/app/channels/application_cable/connection.rb +0 -0
  22. data/spec/support/5.1.7/app/controllers +1 -0
  23. data/spec/support/{rails_app → 5.1.7}/app/jobs/application_job.rb +0 -0
  24. data/spec/support/{rails_app → 5.1.7}/app/mailers/application_mailer.rb +0 -0
  25. data/spec/support/5.1.7/app/models +1 -0
  26. data/spec/support/{rails_app → 5.1.7}/app/views/layouts/mailer.html.erb +0 -0
  27. data/spec/support/{rails_app → 5.1.7}/app/views/layouts/mailer.text.erb +0 -0
  28. data/spec/support/5.1.7/bin/bundle +3 -0
  29. data/spec/support/{rails_app → 5.1.7}/bin/rails +0 -0
  30. data/spec/support/{rails_app → 5.1.7}/bin/rake +0 -0
  31. data/spec/support/5.1.7/bin/setup +35 -0
  32. data/spec/support/{rails_app → 5.1.7}/bin/spring +0 -0
  33. data/spec/support/5.1.7/bin/update +29 -0
  34. data/spec/support/{rails_app → 5.1.7}/config.ru +0 -0
  35. data/spec/support/5.1.7/config/application.rb +33 -0
  36. data/spec/support/{rails_app → 5.1.7}/config/boot.rb +0 -0
  37. data/spec/support/5.1.7/config/cable.yml +10 -0
  38. data/spec/support/{rails_app → 5.1.7}/config/database.yml +0 -0
  39. data/spec/support/{rails_app → 5.1.7}/config/environment.rb +0 -0
  40. data/spec/support/5.1.7/config/environments/development.rb +47 -0
  41. data/spec/support/5.1.7/config/environments/production.rb +83 -0
  42. data/spec/support/5.1.7/config/environments/test.rb +42 -0
  43. data/spec/support/{rails_app → 5.1.7}/config/initializers/application_controller_renderer.rb +0 -0
  44. data/spec/support/{rails_app → 5.1.7}/config/initializers/backtrace_silencers.rb +0 -0
  45. data/spec/support/{rails_app → 5.1.7}/config/initializers/cors.rb +0 -0
  46. data/spec/support/{rails_app → 5.1.7}/config/initializers/filter_parameter_logging.rb +0 -0
  47. data/spec/support/{rails_app → 5.1.7}/config/initializers/inflections.rb +0 -0
  48. data/spec/support/{rails_app → 5.1.7}/config/initializers/mime_types.rb +0 -0
  49. data/spec/support/{rails_app → 5.1.7}/config/initializers/wrap_parameters.rb +0 -0
  50. data/spec/support/{rails_app → 5.1.7}/config/locales/en.yml +0 -0
  51. data/spec/support/5.1.7/config/puma.rb +56 -0
  52. data/spec/support/5.1.7/config/routes.rb +1 -0
  53. data/spec/support/5.1.7/config/secrets.yml +32 -0
  54. data/spec/support/5.1.7/config/spring.rb +6 -0
  55. data/spec/support/5.1.7/db/migrate +1 -0
  56. data/spec/support/{rails_app → 5.1.7}/db/schema.rb +7 -1
  57. data/spec/support/{rails_app → 5.1.7}/db/seeds.rb +0 -0
  58. data/spec/support/{rails_app/app/controllers/concerns → 5.1.7/lib/tasks}/.keep +0 -0
  59. data/spec/support/{rails_app/app/models/concerns → 5.1.7/log}/.keep +0 -0
  60. data/spec/support/{rails_app → 5.1.7}/public/robots.txt +0 -0
  61. data/spec/support/{rails_app/lib/tasks → 5.1.7/test/controllers}/.keep +0 -0
  62. data/spec/support/{rails_app/log → 5.1.7/test/fixtures}/.keep +0 -0
  63. data/spec/support/{rails_app/storage → 5.1.7/test/fixtures/files}/.keep +0 -0
  64. data/spec/support/{rails_app/test/controllers → 5.1.7/test/integration}/.keep +0 -0
  65. data/spec/support/{rails_app/test/fixtures → 5.1.7/test/mailers}/.keep +0 -0
  66. data/spec/support/{rails_app/test/fixtures/files → 5.1.7/test/models}/.keep +0 -0
  67. data/spec/support/5.1.7/test/test_helper.rb +10 -0
  68. data/spec/support/{rails_app/test/integration → 5.1.7/tmp}/.keep +0 -0
  69. data/spec/support/{rails_app/test/mailers → 5.1.7/vendor}/.keep +0 -0
  70. data/spec/support/{rails_app → 5.2.3}/Gemfile +13 -2
  71. data/spec/support/5.2.3/README.md +24 -0
  72. data/spec/support/5.2.3/Rakefile +6 -0
  73. data/spec/support/5.2.3/app/channels/application_cable/channel.rb +4 -0
  74. data/spec/support/5.2.3/app/channels/application_cable/connection.rb +4 -0
  75. data/spec/support/5.2.3/app/controllers +1 -0
  76. data/spec/support/5.2.3/app/jobs/application_job.rb +2 -0
  77. data/spec/support/5.2.3/app/mailers/application_mailer.rb +4 -0
  78. data/spec/support/5.2.3/app/models +1 -0
  79. data/spec/support/5.2.3/app/views/layouts/mailer.html.erb +13 -0
  80. data/spec/support/5.2.3/app/views/layouts/mailer.text.erb +1 -0
  81. data/spec/support/{rails_app → 5.2.3}/bin/bundle +0 -0
  82. data/spec/support/5.2.3/bin/rails +9 -0
  83. data/spec/support/5.2.3/bin/rake +9 -0
  84. data/spec/support/{rails_app → 5.2.3}/bin/setup +0 -0
  85. data/spec/support/5.2.3/bin/spring +17 -0
  86. data/spec/support/{rails_app → 5.2.3}/bin/update +0 -0
  87. data/spec/support/5.2.3/config.ru +5 -0
  88. data/spec/support/{rails_app → 5.2.3}/config/application.rb +0 -0
  89. data/spec/support/5.2.3/config/boot.rb +3 -0
  90. data/spec/support/{rails_app → 5.2.3}/config/cable.yml +0 -0
  91. data/spec/support/{rails_app → 5.2.3}/config/credentials.yml.enc +0 -0
  92. data/spec/support/5.2.3/config/database.yml +25 -0
  93. data/spec/support/5.2.3/config/environment.rb +5 -0
  94. data/spec/support/{rails_app → 5.2.3}/config/environments/development.rb +0 -0
  95. data/spec/support/{rails_app → 5.2.3}/config/environments/production.rb +0 -0
  96. data/spec/support/{rails_app → 5.2.3}/config/environments/test.rb +0 -0
  97. data/spec/support/5.2.3/config/initializers/application_controller_renderer.rb +8 -0
  98. data/spec/support/5.2.3/config/initializers/backtrace_silencers.rb +7 -0
  99. data/spec/support/5.2.3/config/initializers/cors.rb +16 -0
  100. data/spec/support/5.2.3/config/initializers/filter_parameter_logging.rb +4 -0
  101. data/spec/support/5.2.3/config/initializers/inflections.rb +16 -0
  102. data/spec/support/5.2.3/config/initializers/mime_types.rb +4 -0
  103. data/spec/support/5.2.3/config/initializers/wrap_parameters.rb +14 -0
  104. data/spec/support/5.2.3/config/locales/en.yml +33 -0
  105. data/spec/support/{rails_app → 5.2.3}/config/puma.rb +0 -0
  106. data/spec/support/5.2.3/config/routes.rb +1 -0
  107. data/spec/support/{rails_app → 5.2.3}/config/spring.rb +0 -0
  108. data/spec/support/{rails_app → 5.2.3}/config/storage.yml +0 -0
  109. data/spec/support/5.2.3/db/migrate +1 -0
  110. data/spec/support/5.2.3/db/schema.rb +47 -0
  111. data/spec/support/5.2.3/db/seeds.rb +7 -0
  112. data/spec/support/{rails_app/test/models → 5.2.3/lib/tasks}/.keep +0 -0
  113. data/spec/support/{rails_app/tmp → 5.2.3/log}/.keep +0 -0
  114. data/spec/support/5.2.3/public/robots.txt +1 -0
  115. data/spec/support/{rails_app/vendor → 5.2.3/storage}/.keep +0 -0
  116. data/spec/{test_data/expected_wizard_no_book.rbi → support/5.2.3/test/controllers/.keep} +0 -0
  117. data/spec/support/5.2.3/test/fixtures/.keep +0 -0
  118. data/spec/support/5.2.3/test/fixtures/files/.keep +0 -0
  119. data/spec/support/5.2.3/test/integration/.keep +0 -0
  120. data/spec/support/5.2.3/test/mailers/.keep +0 -0
  121. data/spec/support/5.2.3/test/models/.keep +0 -0
  122. data/spec/support/{rails_app → 5.2.3}/test/test_helper.rb +0 -0
  123. data/spec/support/5.2.3/tmp/.keep +0 -0
  124. data/spec/support/5.2.3/vendor/.keep +0 -0
  125. data/spec/support/{rails_app → rails_shared}/app/controllers/application_controller.rb +0 -0
  126. data/spec/support/rails_shared/app/controllers/concerns/.keep +0 -0
  127. data/spec/support/{rails_app → rails_shared}/app/models/application_record.rb +2 -0
  128. data/spec/support/rails_shared/app/models/potion.rb +5 -0
  129. data/spec/support/{rails_app → rails_shared}/app/models/spell_book.rb +0 -0
  130. data/spec/support/{rails_app → rails_shared}/app/models/wand.rb +0 -0
  131. data/spec/support/{rails_app → rails_shared}/app/models/wizard.rb +0 -0
  132. data/spec/support/{rails_app → rails_shared}/config/routes.rb +0 -0
  133. data/spec/support/{rails_app → rails_shared}/db/migrate/20190620001234_create_wizards.rb +1 -1
  134. data/spec/support/{rails_app → rails_shared}/db/migrate/20190620003037_create_wands.rb +1 -1
  135. data/spec/support/{rails_app → rails_shared}/db/migrate/20190620003739_create_spell_books.rb +1 -1
  136. data/spec/support/rails_shared/db/migrate/20190622000000_add_more_column_types_to_wands.rb +15 -0
  137. data/spec/test_data/5.1.7/expected_no_routes.rbi +11 -0
  138. data/spec/test_data/5.1.7/expected_potion.rbi +126 -0
  139. data/spec/test_data/5.1.7/expected_routes.rbi +13 -0
  140. data/spec/test_data/{models → 5.1.7}/expected_wand.rbi +66 -6
  141. data/spec/test_data/{models → 5.1.7}/expected_wizard.rbi +26 -8
  142. data/spec/test_data/5.1.7/expected_wizard_wo_spellbook.rbi +207 -0
  143. data/spec/test_data/5.2.3/expected_no_routes.rbi +11 -0
  144. data/spec/test_data/5.2.3/expected_potion.rbi +126 -0
  145. data/spec/test_data/{expected_routes.rbi → 5.2.3/expected_routes.rbi} +0 -0
  146. data/spec/test_data/5.2.3/expected_wand.rbi +246 -0
  147. data/spec/test_data/{models/expected_wizard_wo_spellbook.rbi → 5.2.3/expected_wizard.rbi} +26 -8
  148. data/spec/test_data/5.2.3/expected_wizard_wo_spellbook.rbi +207 -0
  149. metadata +277 -193
  150. data/Gemfile.lock +0 -176
  151. data/spec/support/rails_app/.ruby-version +0 -1
  152. data/spec/support/rails_app/Gemfile.lock +0 -139
  153. data/spec/support/rails_app/app/controllers/test_controller.rb +0 -5
@@ -0,0 +1,13 @@
1
+ # This is an autogenerated file for routes helper methods
2
+
3
+ # typed: strong
4
+ class ActionController::Base
5
+ extend T::Sig
6
+
7
+ # Sigs for route /test/index(.:format)
8
+ sig { params(args: T.untyped, kwargs: T.untyped).returns(String) }
9
+ def test_index_path(*args, **kwargs); end
10
+ sig { params(args: T.untyped, kwargs: T.untyped).returns(String) }
11
+ def test_index_url(*args, **kwargs); end
12
+
13
+ end
@@ -3,7 +3,13 @@
3
3
  # typed: strong
4
4
 
5
5
  class Wand::Relation < ActiveRecord::Relation
6
- include Wand::NamedScope
6
+ include Wand::ModelRelationShared
7
+ extend T::Generic
8
+ Elem = type_member(fixed: Wand)
9
+ end
10
+
11
+ class Wand::CollectionProxy < ActiveRecord::Associations::CollectionProxy
12
+ include Wand::ModelRelationShared
7
13
  extend T::Generic
8
14
  Elem = type_member(fixed: Wand)
9
15
  end
@@ -11,12 +17,39 @@ end
11
17
  class Wand < ApplicationRecord
12
18
  extend T::Sig
13
19
  extend T::Generic
14
- extend Wand::NamedScope
20
+ extend Wand::ModelRelationShared
21
+ extend Wand::ClassMethods
22
+ include Wand::InstanceMethods
15
23
  Elem = type_template(fixed: Wand)
24
+ end
25
+
26
+ module Wand::InstanceMethods
27
+ extend T::Sig
16
28
 
17
29
  sig { returns(T::Boolean) }
18
30
  def basilisk_horn?(); end
19
31
 
32
+ sig { returns(T::Boolean) }
33
+ def broken(); end
34
+
35
+ sig { params(value: T::Boolean).void }
36
+ def broken=(value); end
37
+
38
+ sig { params(args: T.untyped).returns(T::Boolean) }
39
+ def broken?(*args); end
40
+
41
+ sig { returns(T.nilable(Date)) }
42
+ def chosen_at_date(); end
43
+
44
+ sig { params(value: T.nilable(Date)).void }
45
+ def chosen_at_date=(value); end
46
+
47
+ sig { returns(T.nilable(Time)) }
48
+ def chosen_at_time(); end
49
+
50
+ sig { params(value: T.nilable(Time)).void }
51
+ def chosen_at_time=(value); end
52
+
20
53
  sig { returns(String) }
21
54
  def core_type(); end
22
55
 
@@ -32,6 +65,18 @@ class Wand < ApplicationRecord
32
65
  sig { returns(T::Boolean) }
33
66
  def dragon_heartstring?(); end
34
67
 
68
+ sig { returns(Float) }
69
+ def flexibility(); end
70
+
71
+ sig { params(value: Float).void }
72
+ def flexibility=(value); end
73
+
74
+ sig { returns(BigDecimal) }
75
+ def hardness(); end
76
+
77
+ sig { params(value: BigDecimal).void }
78
+ def hardness=(value); end
79
+
35
80
  sig { returns(Integer) }
36
81
  def id(); end
37
82
 
@@ -41,6 +86,12 @@ class Wand < ApplicationRecord
41
86
  sig { returns(T::Boolean) }
42
87
  def phoenix_feather?(); end
43
88
 
89
+ sig { returns(Integer) }
90
+ def reflectance(); end
91
+
92
+ sig { params(value: Integer).void }
93
+ def reflectance=(value); end
94
+
44
95
  sig { returns(T::Boolean) }
45
96
  def unicorn_tail_hair?(); end
46
97
 
@@ -62,16 +113,23 @@ class Wand < ApplicationRecord
62
113
  sig { params(value: Integer).void }
63
114
  def wizard_id=(value); end
64
115
 
116
+ sig { returns(T.nilable(String)) }
117
+ def wood_type(); end
118
+
65
119
  sig { params(value: T.nilable(String)).void }
66
120
  def wood_type=(value); end
67
121
 
122
+ end
123
+
124
+ module Wand::ClassMethods
125
+ extend T::Sig
126
+
68
127
  sig { returns(T::Hash[T.any(String, Symbol), Integer]) }
69
- def self.core_types(); end
128
+ def core_types(); end
70
129
 
71
130
  end
72
131
 
73
-
74
- module Wand::NamedScope
132
+ module Wand::ModelRelationShared
75
133
  extend T::Sig
76
134
 
77
135
  sig { returns(Wand::Relation) }
@@ -86,6 +144,9 @@ module Wand::NamedScope
86
144
  sig { params(args: T.untyped).returns(Wand::Relation) }
87
145
  def phoenix_feather(*args); end
88
146
 
147
+ sig { params(args: T.untyped).returns(Wand::Relation) }
148
+ def recent(*args); end
149
+
89
150
  sig { params(args: T.untyped).returns(Wand::Relation) }
90
151
  def unicorn_tail_hair(*args); end
91
152
 
@@ -171,4 +232,3 @@ module Wand::NamedScope
171
232
  def except(*args, block); end
172
233
 
173
234
  end
174
-
@@ -3,7 +3,13 @@
3
3
  # typed: strong
4
4
 
5
5
  class Wizard::Relation < ActiveRecord::Relation
6
- include Wizard::NamedScope
6
+ include Wizard::ModelRelationShared
7
+ extend T::Generic
8
+ Elem = type_member(fixed: Wizard)
9
+ end
10
+
11
+ class Wizard::CollectionProxy < ActiveRecord::Associations::CollectionProxy
12
+ include Wizard::ModelRelationShared
7
13
  extend T::Generic
8
14
  Elem = type_member(fixed: Wizard)
9
15
  end
@@ -11,8 +17,14 @@ end
11
17
  class Wizard < ApplicationRecord
12
18
  extend T::Sig
13
19
  extend T::Generic
14
- extend Wizard::NamedScope
20
+ extend Wizard::ModelRelationShared
21
+ extend Wizard::ClassMethods
22
+ include Wizard::InstanceMethods
15
23
  Elem = type_template(fixed: Wizard)
24
+ end
25
+
26
+ module Wizard::InstanceMethods
27
+ extend T::Sig
16
28
 
17
29
  sig { returns(T::Boolean) }
18
30
  def Gryffindor?(); end
@@ -62,10 +74,10 @@ class Wizard < ApplicationRecord
62
74
  sig { params(value: T.nilable(String)).void }
63
75
  def parent_email=(value); end
64
76
 
65
- sig { returns(SpellBook::Relation) }
77
+ sig { returns(SpellBook::CollectionProxy) }
66
78
  def spell_books(); end
67
79
 
68
- sig { params(value: T.any(T::Array[SpellBook], SpellBook::Relation)).void }
80
+ sig { params(value: T.any(T::Array[SpellBook], SpellBook::CollectionProxy)).void }
69
81
  def spell_books=(value); end
70
82
 
71
83
  sig { returns(DateTime) }
@@ -80,13 +92,17 @@ class Wizard < ApplicationRecord
80
92
  sig { params(value: T.nilable(Wand)).void }
81
93
  def wand=(value); end
82
94
 
95
+ end
96
+
97
+ module Wizard::ClassMethods
98
+ extend T::Sig
99
+
83
100
  sig { returns(T::Hash[T.any(String, Symbol), Integer]) }
84
- def self.houses(); end
101
+ def houses(); end
85
102
 
86
103
  end
87
104
 
88
-
89
- module Wizard::NamedScope
105
+ module Wizard::ModelRelationShared
90
106
  extend T::Sig
91
107
 
92
108
  sig { returns(Wizard::Relation) }
@@ -104,6 +120,9 @@ module Wizard::NamedScope
104
120
  sig { params(args: T.untyped).returns(Wizard::Relation) }
105
121
  def Slytherin(*args); end
106
122
 
123
+ sig { params(args: T.untyped).returns(Wizard::Relation) }
124
+ def recent(*args); end
125
+
107
126
  sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::Relation) }
108
127
  def select(*args, block); end
109
128
 
@@ -186,4 +205,3 @@ module Wizard::NamedScope
186
205
  def except(*args, block); end
187
206
 
188
207
  end
189
-
@@ -0,0 +1,207 @@
1
+ # This is an autogenerated file for dynamic methods in Wizard
2
+ # Please rerun rake rails_rbi:models to regenerate.
3
+ # typed: strong
4
+
5
+ class Wizard::Relation < ActiveRecord::Relation
6
+ include Wizard::ModelRelationShared
7
+ extend T::Generic
8
+ Elem = type_member(fixed: Wizard)
9
+ end
10
+
11
+ class Wizard::CollectionProxy < ActiveRecord::Associations::CollectionProxy
12
+ include Wizard::ModelRelationShared
13
+ extend T::Generic
14
+ Elem = type_member(fixed: Wizard)
15
+ end
16
+
17
+ class Wizard < ApplicationRecord
18
+ extend T::Sig
19
+ extend T::Generic
20
+ extend Wizard::ModelRelationShared
21
+ extend Wizard::ClassMethods
22
+ include Wizard::InstanceMethods
23
+ Elem = type_template(fixed: Wizard)
24
+ end
25
+
26
+ module Wizard::InstanceMethods
27
+ extend T::Sig
28
+
29
+ sig { returns(T::Boolean) }
30
+ def Gryffindor?(); end
31
+
32
+ sig { returns(T::Boolean) }
33
+ def Hufflepuff?(); end
34
+
35
+ sig { returns(T::Boolean) }
36
+ def Ravenclaw?(); end
37
+
38
+ sig { returns(T::Boolean) }
39
+ def Slytherin?(); end
40
+
41
+ sig { returns(DateTime) }
42
+ def created_at(); end
43
+
44
+ sig { params(value: DateTime).void }
45
+ def created_at=(value); end
46
+
47
+ sig { returns(String) }
48
+ def house(); end
49
+
50
+ sig { params(value: T.nilable(T.any(Integer, String, Symbol))).void }
51
+ def house=(value); end
52
+
53
+ sig { returns(Integer) }
54
+ def id(); end
55
+
56
+ sig { params(value: Integer).void }
57
+ def id=(value); end
58
+
59
+ sig { returns(T.nilable(String)) }
60
+ def name(); end
61
+
62
+ sig { params(value: T.nilable(String)).void }
63
+ def name=(value); end
64
+
65
+ sig { returns(T.nilable(String)) }
66
+ def notes(); end
67
+
68
+ sig { params(value: T.nilable(String)).void }
69
+ def notes=(value); end
70
+
71
+ sig { returns(T.nilable(String)) }
72
+ def parent_email(); end
73
+
74
+ sig { params(value: T.nilable(String)).void }
75
+ def parent_email=(value); end
76
+
77
+ sig { returns(ActiveRecord::Associations::CollectionProxy[T.untyped]) }
78
+ def spell_books(); end
79
+
80
+ sig { params(value: T.any(T::Array[SpellBook], ActiveRecord::Associations::CollectionProxy[T.untyped])).void }
81
+ def spell_books=(value); end
82
+
83
+ sig { returns(DateTime) }
84
+ def updated_at(); end
85
+
86
+ sig { params(value: DateTime).void }
87
+ def updated_at=(value); end
88
+
89
+ sig { returns(T.nilable(Wand)) }
90
+ def wand(); end
91
+
92
+ sig { params(value: T.nilable(Wand)).void }
93
+ def wand=(value); end
94
+
95
+ end
96
+
97
+ module Wizard::ClassMethods
98
+ extend T::Sig
99
+
100
+ sig { returns(T::Hash[T.any(String, Symbol), Integer]) }
101
+ def houses(); end
102
+
103
+ end
104
+
105
+ module Wizard::ModelRelationShared
106
+ extend T::Sig
107
+
108
+ sig { returns(Wizard::Relation) }
109
+ def all(); end
110
+
111
+ sig { params(args: T.untyped).returns(Wizard::Relation) }
112
+ def Gryffindor(*args); end
113
+
114
+ sig { params(args: T.untyped).returns(Wizard::Relation) }
115
+ def Hufflepuff(*args); end
116
+
117
+ sig { params(args: T.untyped).returns(Wizard::Relation) }
118
+ def Ravenclaw(*args); end
119
+
120
+ sig { params(args: T.untyped).returns(Wizard::Relation) }
121
+ def Slytherin(*args); end
122
+
123
+ sig { params(args: T.untyped).returns(Wizard::Relation) }
124
+ def recent(*args); end
125
+
126
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::Relation) }
127
+ def select(*args, block); end
128
+
129
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::Relation) }
130
+ def order(*args, block); end
131
+
132
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::Relation) }
133
+ def reorder(*args, block); end
134
+
135
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::Relation) }
136
+ def group(*args, block); end
137
+
138
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::Relation) }
139
+ def limit(*args, block); end
140
+
141
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::Relation) }
142
+ def offset(*args, block); end
143
+
144
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::Relation) }
145
+ def joins(*args, block); end
146
+
147
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::Relation) }
148
+ def left_joins(*args, block); end
149
+
150
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::Relation) }
151
+ def left_outer_joins(*args, block); end
152
+
153
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::Relation) }
154
+ def where(*args, block); end
155
+
156
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::Relation) }
157
+ def rewhere(*args, block); end
158
+
159
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::Relation) }
160
+ def preload(*args, block); end
161
+
162
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::Relation) }
163
+ def eager_load(*args, block); end
164
+
165
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::Relation) }
166
+ def includes(*args, block); end
167
+
168
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::Relation) }
169
+ def from(*args, block); end
170
+
171
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::Relation) }
172
+ def lock(*args, block); end
173
+
174
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::Relation) }
175
+ def readonly(*args, block); end
176
+
177
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::Relation) }
178
+ def extending(*args, block); end
179
+
180
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::Relation) }
181
+ def or(*args, block); end
182
+
183
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::Relation) }
184
+ def having(*args, block); end
185
+
186
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::Relation) }
187
+ def create_with(*args, block); end
188
+
189
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::Relation) }
190
+ def distinct(*args, block); end
191
+
192
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::Relation) }
193
+ def references(*args, block); end
194
+
195
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::Relation) }
196
+ def none(*args, block); end
197
+
198
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::Relation) }
199
+ def unscope(*args, block); end
200
+
201
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::Relation) }
202
+ def merge(*args, block); end
203
+
204
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::Relation) }
205
+ def except(*args, block); end
206
+
207
+ end
@@ -0,0 +1,11 @@
1
+ # This is an autogenerated file for routes helper methods
2
+
3
+ # typed: strong
4
+ class ActionController::Base
5
+ extend T::Sig
6
+
7
+ # You do not have any routes defined!
8
+ # Please add some routes in config/routes.rb.
9
+
10
+ # For more information about routes, see the Rails guide: https://guides.rubyonrails.org/routing.html.
11
+ end
@@ -0,0 +1,126 @@
1
+ # This is an autogenerated file for dynamic methods in Potion
2
+ # Please rerun rake rails_rbi:models to regenerate.
3
+ # typed: strong
4
+
5
+ class Potion::Relation < ActiveRecord::Relation
6
+ include Potion::ModelRelationShared
7
+ extend T::Generic
8
+ Elem = type_member(fixed: Potion)
9
+ end
10
+
11
+ class Potion::CollectionProxy < ActiveRecord::Associations::CollectionProxy
12
+ include Potion::ModelRelationShared
13
+ extend T::Generic
14
+ Elem = type_member(fixed: Potion)
15
+ end
16
+
17
+ class Potion < ApplicationRecord
18
+ extend T::Sig
19
+ extend T::Generic
20
+ extend Potion::ModelRelationShared
21
+ extend Potion::ClassMethods
22
+ include Potion::InstanceMethods
23
+ Elem = type_template(fixed: Potion)
24
+ end
25
+
26
+ module Potion::InstanceMethods
27
+ extend T::Sig
28
+
29
+ end
30
+
31
+ module Potion::ClassMethods
32
+ extend T::Sig
33
+
34
+ end
35
+
36
+ module Potion::ModelRelationShared
37
+ extend T::Sig
38
+
39
+ sig { returns(Potion::Relation) }
40
+ def all(); end
41
+
42
+ sig { params(args: T.untyped).returns(Potion::Relation) }
43
+ def recent(*args); end
44
+
45
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::Relation) }
46
+ def select(*args, block); end
47
+
48
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::Relation) }
49
+ def order(*args, block); end
50
+
51
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::Relation) }
52
+ def reorder(*args, block); end
53
+
54
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::Relation) }
55
+ def group(*args, block); end
56
+
57
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::Relation) }
58
+ def limit(*args, block); end
59
+
60
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::Relation) }
61
+ def offset(*args, block); end
62
+
63
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::Relation) }
64
+ def joins(*args, block); end
65
+
66
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::Relation) }
67
+ def left_joins(*args, block); end
68
+
69
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::Relation) }
70
+ def left_outer_joins(*args, block); end
71
+
72
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::Relation) }
73
+ def where(*args, block); end
74
+
75
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::Relation) }
76
+ def rewhere(*args, block); end
77
+
78
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::Relation) }
79
+ def preload(*args, block); end
80
+
81
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::Relation) }
82
+ def eager_load(*args, block); end
83
+
84
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::Relation) }
85
+ def includes(*args, block); end
86
+
87
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::Relation) }
88
+ def from(*args, block); end
89
+
90
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::Relation) }
91
+ def lock(*args, block); end
92
+
93
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::Relation) }
94
+ def readonly(*args, block); end
95
+
96
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::Relation) }
97
+ def extending(*args, block); end
98
+
99
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::Relation) }
100
+ def or(*args, block); end
101
+
102
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::Relation) }
103
+ def having(*args, block); end
104
+
105
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::Relation) }
106
+ def create_with(*args, block); end
107
+
108
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::Relation) }
109
+ def distinct(*args, block); end
110
+
111
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::Relation) }
112
+ def references(*args, block); end
113
+
114
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::Relation) }
115
+ def none(*args, block); end
116
+
117
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::Relation) }
118
+ def unscope(*args, block); end
119
+
120
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::Relation) }
121
+ def merge(*args, block); end
122
+
123
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Potion::Relation) }
124
+ def except(*args, block); end
125
+
126
+ end