sorbet-rails 0.5.5.1 → 0.5.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (106) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -0
  3. data/lib/sorbet-rails/config.rb +1 -0
  4. data/lib/sorbet-rails/helper_rbi_formatter.rb +12 -0
  5. data/lib/sorbet-rails/model_plugins/active_record_attribute.rb +51 -9
  6. data/lib/sorbet-rails/model_plugins/active_record_factory_methods.rb +28 -0
  7. data/lib/sorbet-rails/model_plugins/enumerable_collections.rb +1 -0
  8. data/lib/sorbet-rails/model_plugins/plugins.rb +3 -0
  9. data/sorbet-rails.gemspec +1 -1
  10. data/spec/generators/rails-template.rb +14 -1
  11. data/spec/generators/sorbet_test_cases.rb +17 -0
  12. data/spec/sorbet_spec.rb +4 -0
  13. data/spec/support/v4.2/Gemfile.lock +5 -5
  14. data/spec/support/v4.2/app/models/wand.rb +2 -0
  15. data/spec/support/v4.2/app/models/wizard.rb +1 -1
  16. data/spec/support/v4.2/config/initializers/sorbet_rails.rb +1 -1
  17. data/spec/support/v4.2/db/migrate/20190620000001_create_wizards.rb +1 -1
  18. data/spec/support/v4.2/db/migrate/20190620000004_add_more_column_types_to_wands.rb +1 -0
  19. data/spec/support/v4.2/db/schema.rb +3 -2
  20. data/spec/support/v4.2/sorbet_test_cases.rb +17 -0
  21. data/spec/support/v5.0/Gemfile.lock +5 -5
  22. data/spec/support/v5.0/app/models/wand.rb +2 -0
  23. data/spec/support/v5.0/app/models/wizard.rb +1 -1
  24. data/spec/support/v5.0/config/application.rb +1 -0
  25. data/spec/support/v5.0/config/initializers/sorbet_rails.rb +1 -1
  26. data/spec/support/v5.0/db/migrate/20190620000001_create_wizards.rb +1 -1
  27. data/spec/support/v5.0/db/migrate/20190620000004_add_more_column_types_to_wands.rb +1 -0
  28. data/spec/support/v5.0/db/schema.rb +1 -0
  29. data/spec/support/v5.0/sorbet_test_cases.rb +17 -0
  30. data/spec/support/v5.1/Gemfile.lock +5 -5
  31. data/spec/support/v5.1/app/models/wand.rb +2 -0
  32. data/spec/support/v5.1/app/models/wizard.rb +1 -1
  33. data/spec/support/v5.1/config/initializers/sorbet_rails.rb +1 -1
  34. data/spec/support/v5.1/db/migrate/20190620000001_create_wizards.rb +1 -1
  35. data/spec/support/v5.1/db/migrate/20190620000004_add_more_column_types_to_wands.rb +1 -0
  36. data/spec/support/v5.1/db/schema.rb +1 -0
  37. data/spec/support/v5.1/sorbet_test_cases.rb +17 -0
  38. data/spec/support/v5.2/Gemfile.lock +5 -5
  39. data/spec/support/v5.2/app/models/wand.rb +2 -0
  40. data/spec/support/v5.2/app/models/wizard.rb +1 -1
  41. data/spec/support/v5.2/config/initializers/sorbet_rails.rb +1 -1
  42. data/spec/support/v5.2/db/migrate/20190620000001_create_wizards.rb +1 -1
  43. data/spec/support/v5.2/db/migrate/20190620000004_add_more_column_types_to_wands.rb +1 -0
  44. data/spec/support/v5.2/db/schema.rb +1 -0
  45. data/spec/support/v5.2/sorbet_test_cases.rb +17 -0
  46. data/spec/support/v6.0/Gemfile.lock +5 -5
  47. data/spec/support/v6.0/app/models/wand.rb +2 -0
  48. data/spec/support/v6.0/app/models/wizard.rb +1 -1
  49. data/spec/support/v6.0/config/initializers/sorbet_rails.rb +1 -1
  50. data/spec/support/v6.0/config/initializers/wrap_parameters.rb +1 -1
  51. data/spec/support/v6.0/db/migrate/20190620000001_create_wizards.rb +1 -1
  52. data/spec/support/v6.0/db/migrate/20190620000004_add_more_column_types_to_wands.rb +1 -0
  53. data/spec/support/v6.0/db/schema.rb +1 -0
  54. data/spec/support/v6.0/sorbet_test_cases.rb +17 -0
  55. data/spec/test_data/v4.2/expected_potion.rbi +12 -3
  56. data/spec/test_data/v4.2/expected_spell_book.rbi +12 -3
  57. data/spec/test_data/v4.2/expected_squib.rbi +16 -7
  58. data/spec/test_data/v4.2/expected_srb_tc_output.txt +35 -27
  59. data/spec/test_data/v4.2/expected_wand.rbi +25 -7
  60. data/spec/test_data/v4.2/expected_wizard.rbi +16 -7
  61. data/spec/test_data/v4.2/expected_wizard_wo_spellbook.rbi +16 -7
  62. data/spec/test_data/v5.0/expected_helpers.rbi +5 -0
  63. data/spec/test_data/v5.0/expected_helpers_with_application_and_devise_helpers.rbi +5 -0
  64. data/spec/test_data/v5.0/expected_internal_metadata.rbi +16 -7
  65. data/spec/test_data/v5.0/expected_potion.rbi +12 -3
  66. data/spec/test_data/v5.0/expected_schema_migration.rbi +12 -3
  67. data/spec/test_data/v5.0/expected_spell_book.rbi +12 -3
  68. data/spec/test_data/v5.0/expected_squib.rbi +16 -7
  69. data/spec/test_data/v5.0/expected_wand.rbi +27 -9
  70. data/spec/test_data/v5.0/expected_wizard.rbi +16 -7
  71. data/spec/test_data/v5.0/expected_wizard_wo_spellbook.rbi +16 -7
  72. data/spec/test_data/v5.1/expected_helpers.rbi +5 -0
  73. data/spec/test_data/v5.1/expected_helpers_with_application_and_devise_helpers.rbi +5 -0
  74. data/spec/test_data/v5.1/expected_internal_metadata.rbi +16 -7
  75. data/spec/test_data/v5.1/expected_potion.rbi +12 -3
  76. data/spec/test_data/v5.1/expected_schema_migration.rbi +12 -3
  77. data/spec/test_data/v5.1/expected_spell_book.rbi +12 -3
  78. data/spec/test_data/v5.1/expected_squib.rbi +16 -7
  79. data/spec/test_data/v5.1/expected_wand.rbi +27 -9
  80. data/spec/test_data/v5.1/expected_wizard.rbi +16 -7
  81. data/spec/test_data/v5.1/expected_wizard_wo_spellbook.rbi +16 -7
  82. data/spec/test_data/v5.2/expected_attachment.rbi +12 -3
  83. data/spec/test_data/v5.2/expected_blob.rbi +12 -3
  84. data/spec/test_data/v5.2/expected_helpers.rbi +5 -0
  85. data/spec/test_data/v5.2/expected_helpers_with_application_and_devise_helpers.rbi +5 -0
  86. data/spec/test_data/v5.2/expected_internal_metadata.rbi +16 -7
  87. data/spec/test_data/v5.2/expected_potion.rbi +12 -3
  88. data/spec/test_data/v5.2/expected_schema_migration.rbi +12 -3
  89. data/spec/test_data/v5.2/expected_spell_book.rbi +12 -3
  90. data/spec/test_data/v5.2/expected_squib.rbi +16 -7
  91. data/spec/test_data/v5.2/expected_wand.rbi +27 -9
  92. data/spec/test_data/v5.2/expected_wizard.rbi +16 -7
  93. data/spec/test_data/v5.2/expected_wizard_wo_spellbook.rbi +16 -7
  94. data/spec/test_data/v6.0/expected_attachment.rbi +12 -3
  95. data/spec/test_data/v6.0/expected_blob.rbi +12 -3
  96. data/spec/test_data/v6.0/expected_helpers.rbi +5 -0
  97. data/spec/test_data/v6.0/expected_helpers_with_application_and_devise_helpers.rbi +5 -0
  98. data/spec/test_data/v6.0/expected_internal_metadata.rbi +16 -7
  99. data/spec/test_data/v6.0/expected_potion.rbi +12 -3
  100. data/spec/test_data/v6.0/expected_schema_migration.rbi +12 -3
  101. data/spec/test_data/v6.0/expected_spell_book.rbi +12 -3
  102. data/spec/test_data/v6.0/expected_squib.rbi +16 -7
  103. data/spec/test_data/v6.0/expected_wand.rbi +27 -9
  104. data/spec/test_data/v6.0/expected_wizard.rbi +16 -7
  105. data/spec/test_data/v6.0/expected_wizard_wo_spellbook.rbi +16 -7
  106. metadata +2 -1
@@ -65,10 +65,10 @@ module Squib::GeneratedAttributeMethods
65
65
  sig { returns(T::Boolean) }
66
66
  def broom?; end
67
67
 
68
- sig { returns(T.nilable(Time)) }
68
+ sig { returns(ActiveSupport::TimeWithZone) }
69
69
  def created_at; end
70
70
 
71
- sig { params(value: T.nilable(Time)).void }
71
+ sig { params(value: T.any(DateTime, Date, Time, ActiveSupport::TimeWithZone)).void }
72
72
  def created_at=(value); end
73
73
 
74
74
  sig { returns(T::Boolean) }
@@ -128,10 +128,10 @@ module Squib::GeneratedAttributeMethods
128
128
  sig { returns(T::Boolean) }
129
129
  def type?; end
130
130
 
131
- sig { returns(T.nilable(Time)) }
131
+ sig { returns(ActiveSupport::TimeWithZone) }
132
132
  def updated_at; end
133
133
 
134
- sig { params(value: T.nilable(Time)).void }
134
+ sig { params(value: T.any(DateTime, Date, Time, ActiveSupport::TimeWithZone)).void }
135
135
  def updated_at=(value); end
136
136
 
137
137
  sig { returns(T::Boolean) }
@@ -343,6 +343,15 @@ class Squib < Wizard
343
343
 
344
344
  sig { params(args: T.untyped).returns(T::Boolean) }
345
345
  def self.one?(*args); end
346
+
347
+ sig { params(attributes: T.untyped, block: T.untyped).returns(Squib) }
348
+ def self.create(attributes = nil, &block); end
349
+
350
+ sig { params(attributes: T.untyped, block: T.untyped).returns(Squib) }
351
+ def self.create!(attributes = nil, &block); end
352
+
353
+ sig { params(attributes: T.untyped, block: T.untyped).returns(Squib) }
354
+ def self.new(attributes = nil, &block); end
346
355
  end
347
356
 
348
357
  class Squib::ActiveRecord_Relation < ActiveRecord::Relation
@@ -509,7 +518,7 @@ class Squib::ActiveRecord_Relation < ActiveRecord::Relation
509
518
  sig { params(args: T.untyped).returns(T::Boolean) }
510
519
  def one?(*args); end
511
520
 
512
- sig { override.params(block: T.proc.params(e: Squib).void).void }
521
+ sig { override.params(block: T.proc.params(e: Squib).void).returns(T::Array[Squib]) }
513
522
  def each(&block); end
514
523
 
515
524
  sig { params(level: T.nilable(Integer)).returns(T::Array[Squib]) }
@@ -691,7 +700,7 @@ class Squib::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelatio
691
700
  sig { params(args: T.untyped).returns(T::Boolean) }
692
701
  def one?(*args); end
693
702
 
694
- sig { override.params(block: T.proc.params(e: Squib).void).void }
703
+ sig { override.params(block: T.proc.params(e: Squib).void).returns(T::Array[Squib]) }
695
704
  def each(&block); end
696
705
 
697
706
  sig { params(level: T.nilable(Integer)).returns(T::Array[Squib]) }
@@ -872,7 +881,7 @@ class Squib::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associati
872
881
  sig { params(args: T.untyped).returns(T::Boolean) }
873
882
  def one?(*args); end
874
883
 
875
- sig { override.params(block: T.proc.params(e: Squib).void).void }
884
+ sig { override.params(block: T.proc.params(e: Squib).void).returns(T::Array[Squib]) }
876
885
  def each(&block); end
877
886
 
878
887
  sig { params(level: T.nilable(Integer)).returns(T::Array[Squib]) }
@@ -1,57 +1,65 @@
1
- sorbet_test_cases.rb:167: Method `broom_nimbus?` does not exist on `Wizard` https://srb.help/7003
2
- 167 | T.assert_type!(wizard.broom_nimbus?, T::Boolean)
1
+ sorbet_test_cases.rb:24: Argument does not have asserted type `T.nilable(ActiveSupport::TimeWithZone)` https://srb.help/7007
2
+ 24 | T.assert_type!(wand.chosen_at_time, T.nilable(ActiveSupport::TimeWithZone))
3
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4
+ Got T.nilable(Time) originating from:
5
+ sorbet_test_cases.rb:24:
6
+ 24 | T.assert_type!(wand.chosen_at_time, T.nilable(ActiveSupport::TimeWithZone))
7
+ ^^^^^^^^^^^^^^^^^^^
8
+
9
+ sorbet_test_cases.rb:184: Method `broom_nimbus?` does not exist on `Wizard` https://srb.help/7003
10
+ 184 | T.assert_type!(wizard.broom_nimbus?, T::Boolean)
3
11
  ^^^^^^^^^^^^^^^^^^^^
4
12
  Autocorrect: Use `-a` to autocorrect
5
- sorbet_test_cases.rb:167: Replace with `nimbus?`
6
- 167 | T.assert_type!(wizard.broom_nimbus?, T::Boolean)
13
+ sorbet_test_cases.rb:184: Replace with `nimbus?`
14
+ 184 | T.assert_type!(wizard.broom_nimbus?, T::Boolean)
7
15
  ^^^^^^^^^^^^^
8
16
 
9
17
 
10
- sorbet_test_cases.rb:167: The typechecker was unable to infer the type of the asserted value https://srb.help/7007
11
- 167 | T.assert_type!(wizard.broom_nimbus?, T::Boolean)
18
+ sorbet_test_cases.rb:184: The typechecker was unable to infer the type of the asserted value https://srb.help/7007
19
+ 184 | T.assert_type!(wizard.broom_nimbus?, T::Boolean)
12
20
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
13
21
  Got T.untyped originating from:
14
- sorbet_test_cases.rb:167:
15
- 167 | T.assert_type!(wizard.broom_nimbus?, T::Boolean)
22
+ sorbet_test_cases.rb:184:
23
+ 184 | T.assert_type!(wizard.broom_nimbus?, T::Boolean)
16
24
  ^^^^^^^^^^^^^^^^^^^^
17
25
  You may need to add additional `sig` annotations
18
26
 
19
- sorbet_test_cases.rb:168: Method `color_brown_eyes?` does not exist on `Wizard` https://srb.help/7003
20
- 168 | T.assert_type!(wizard.color_brown_eyes?, T::Boolean)
27
+ sorbet_test_cases.rb:185: Method `color_brown_eyes?` does not exist on `Wizard` https://srb.help/7003
28
+ 185 | T.assert_type!(wizard.color_brown_eyes?, T::Boolean)
21
29
  ^^^^^^^^^^^^^^^^^^^^^^^^
22
30
 
23
- sorbet_test_cases.rb:168: The typechecker was unable to infer the type of the asserted value https://srb.help/7007
24
- 168 | T.assert_type!(wizard.color_brown_eyes?, T::Boolean)
31
+ sorbet_test_cases.rb:185: The typechecker was unable to infer the type of the asserted value https://srb.help/7007
32
+ 185 | T.assert_type!(wizard.color_brown_eyes?, T::Boolean)
25
33
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
26
34
  Got T.untyped originating from:
27
- sorbet_test_cases.rb:168:
28
- 168 | T.assert_type!(wizard.color_brown_eyes?, T::Boolean)
35
+ sorbet_test_cases.rb:185:
36
+ 185 | T.assert_type!(wizard.color_brown_eyes?, T::Boolean)
29
37
  ^^^^^^^^^^^^^^^^^^^^^^^^
30
38
  You may need to add additional `sig` annotations
31
39
 
32
- sorbet_test_cases.rb:169: Method `quidditch_keeper?` does not exist on `Wizard` https://srb.help/7003
33
- 169 | T.assert_type!(wizard.quidditch_keeper?, T::Boolean)
40
+ sorbet_test_cases.rb:186: Method `quidditch_keeper?` does not exist on `Wizard` https://srb.help/7003
41
+ 186 | T.assert_type!(wizard.quidditch_keeper?, T::Boolean)
34
42
  ^^^^^^^^^^^^^^^^^^^^^^^^
35
43
 
36
- sorbet_test_cases.rb:169: The typechecker was unable to infer the type of the asserted value https://srb.help/7007
37
- 169 | T.assert_type!(wizard.quidditch_keeper?, T::Boolean)
44
+ sorbet_test_cases.rb:186: The typechecker was unable to infer the type of the asserted value https://srb.help/7007
45
+ 186 | T.assert_type!(wizard.quidditch_keeper?, T::Boolean)
38
46
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
39
47
  Got T.untyped originating from:
40
- sorbet_test_cases.rb:169:
41
- 169 | T.assert_type!(wizard.quidditch_keeper?, T::Boolean)
48
+ sorbet_test_cases.rb:186:
49
+ 186 | T.assert_type!(wizard.quidditch_keeper?, T::Boolean)
42
50
  ^^^^^^^^^^^^^^^^^^^^^^^^
43
51
  You may need to add additional `sig` annotations
44
52
 
45
- sorbet_test_cases.rb:170: Method `brown_hair?` does not exist on `Wizard` https://srb.help/7003
46
- 170 | T.assert_type!(wizard.brown_hair?, T::Boolean)
53
+ sorbet_test_cases.rb:187: Method `brown_hair?` does not exist on `Wizard` https://srb.help/7003
54
+ 187 | T.assert_type!(wizard.brown_hair?, T::Boolean)
47
55
  ^^^^^^^^^^^^^^^^^^
48
56
 
49
- sorbet_test_cases.rb:170: The typechecker was unable to infer the type of the asserted value https://srb.help/7007
50
- 170 | T.assert_type!(wizard.brown_hair?, T::Boolean)
57
+ sorbet_test_cases.rb:187: The typechecker was unable to infer the type of the asserted value https://srb.help/7007
58
+ 187 | T.assert_type!(wizard.brown_hair?, T::Boolean)
51
59
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
52
60
  Got T.untyped originating from:
53
- sorbet_test_cases.rb:170:
54
- 170 | T.assert_type!(wizard.brown_hair?, T::Boolean)
61
+ sorbet_test_cases.rb:187:
62
+ 187 | T.assert_type!(wizard.brown_hair?, T::Boolean)
55
63
  ^^^^^^^^^^^^^^^^^^
56
64
  You may need to add additional `sig` annotations
57
- Errors: 8
65
+ Errors: 9
@@ -47,6 +47,15 @@ module Wand::GeneratedAttributeMethods
47
47
  sig { returns(T::Boolean) }
48
48
  def broken?; end
49
49
 
50
+ sig { returns(T.nilable(Time)) }
51
+ def broken_at; end
52
+
53
+ sig { params(value: T.nilable(Time)).void }
54
+ def broken_at=(value); end
55
+
56
+ sig { returns(T::Boolean) }
57
+ def broken_at?; end
58
+
50
59
  sig { returns(T.nilable(Date)) }
51
60
  def chosen_at_date; end
52
61
 
@@ -74,10 +83,10 @@ module Wand::GeneratedAttributeMethods
74
83
  sig { returns(T::Boolean) }
75
84
  def core_type?; end
76
85
 
77
- sig { returns(T.nilable(Time)) }
86
+ sig { returns(T.nilable(ActiveSupport::TimeWithZone)) }
78
87
  def created_at; end
79
88
 
80
- sig { params(value: T.nilable(Time)).void }
89
+ sig { params(value: T.nilable(T.any(DateTime, Date, Time, ActiveSupport::TimeWithZone))).void }
81
90
  def created_at=(value); end
82
91
 
83
92
  sig { returns(T::Boolean) }
@@ -119,10 +128,10 @@ module Wand::GeneratedAttributeMethods
119
128
  sig { returns(T::Boolean) }
120
129
  def reflectance?; end
121
130
 
122
- sig { returns(T.nilable(Time)) }
131
+ sig { returns(T.nilable(ActiveSupport::TimeWithZone)) }
123
132
  def updated_at; end
124
133
 
125
- sig { params(value: T.nilable(Time)).void }
134
+ sig { params(value: T.nilable(T.any(DateTime, Date, Time, ActiveSupport::TimeWithZone))).void }
126
135
  def updated_at=(value); end
127
136
 
128
137
  sig { returns(T::Boolean) }
@@ -329,6 +338,15 @@ class Wand < ApplicationRecord
329
338
  sig { params(args: T.untyped).returns(T::Boolean) }
330
339
  def self.one?(*args); end
331
340
 
341
+ sig { params(attributes: T.untyped, block: T.untyped).returns(Wand) }
342
+ def self.create(attributes = nil, &block); end
343
+
344
+ sig { params(attributes: T.untyped, block: T.untyped).returns(Wand) }
345
+ def self.create!(attributes = nil, &block); end
346
+
347
+ sig { params(attributes: T.untyped, block: T.untyped).returns(Wand) }
348
+ def self.new(attributes = nil, &block); end
349
+
332
350
  sig { returns(T::Array[Wand]) }
333
351
  def self.mythicals; end
334
352
  end
@@ -485,7 +503,7 @@ class Wand::ActiveRecord_Relation < ActiveRecord::Relation
485
503
  sig { params(args: T.untyped).returns(T::Boolean) }
486
504
  def one?(*args); end
487
505
 
488
- sig { override.params(block: T.proc.params(e: Wand).void).void }
506
+ sig { override.params(block: T.proc.params(e: Wand).void).returns(T::Array[Wand]) }
489
507
  def each(&block); end
490
508
 
491
509
  sig { params(level: T.nilable(Integer)).returns(T::Array[Wand]) }
@@ -655,7 +673,7 @@ class Wand::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelation
655
673
  sig { params(args: T.untyped).returns(T::Boolean) }
656
674
  def one?(*args); end
657
675
 
658
- sig { override.params(block: T.proc.params(e: Wand).void).void }
676
+ sig { override.params(block: T.proc.params(e: Wand).void).returns(T::Array[Wand]) }
659
677
  def each(&block); end
660
678
 
661
679
  sig { params(level: T.nilable(Integer)).returns(T::Array[Wand]) }
@@ -824,7 +842,7 @@ class Wand::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associatio
824
842
  sig { params(args: T.untyped).returns(T::Boolean) }
825
843
  def one?(*args); end
826
844
 
827
- sig { override.params(block: T.proc.params(e: Wand).void).void }
845
+ sig { override.params(block: T.proc.params(e: Wand).void).returns(T::Array[Wand]) }
828
846
  def each(&block); end
829
847
 
830
848
  sig { params(level: T.nilable(Integer)).returns(T::Array[Wand]) }
@@ -65,10 +65,10 @@ module Wizard::GeneratedAttributeMethods
65
65
  sig { returns(T::Boolean) }
66
66
  def broom?; end
67
67
 
68
- sig { returns(T.nilable(Time)) }
68
+ sig { returns(ActiveSupport::TimeWithZone) }
69
69
  def created_at; end
70
70
 
71
- sig { params(value: T.nilable(Time)).void }
71
+ sig { params(value: T.any(DateTime, Date, Time, ActiveSupport::TimeWithZone)).void }
72
72
  def created_at=(value); end
73
73
 
74
74
  sig { returns(T::Boolean) }
@@ -128,10 +128,10 @@ module Wizard::GeneratedAttributeMethods
128
128
  sig { returns(T::Boolean) }
129
129
  def type?; end
130
130
 
131
- sig { returns(T.nilable(Time)) }
131
+ sig { returns(ActiveSupport::TimeWithZone) }
132
132
  def updated_at; end
133
133
 
134
- sig { params(value: T.nilable(Time)).void }
134
+ sig { params(value: T.any(DateTime, Date, Time, ActiveSupport::TimeWithZone)).void }
135
135
  def updated_at=(value); end
136
136
 
137
137
  sig { returns(T::Boolean) }
@@ -343,6 +343,15 @@ class Wizard < ApplicationRecord
343
343
 
344
344
  sig { params(args: T.untyped).returns(T::Boolean) }
345
345
  def self.one?(*args); end
346
+
347
+ sig { params(attributes: T.untyped, block: T.untyped).returns(Wizard) }
348
+ def self.create(attributes = nil, &block); end
349
+
350
+ sig { params(attributes: T.untyped, block: T.untyped).returns(Wizard) }
351
+ def self.create!(attributes = nil, &block); end
352
+
353
+ sig { params(attributes: T.untyped, block: T.untyped).returns(Wizard) }
354
+ def self.new(attributes = nil, &block); end
346
355
  end
347
356
 
348
357
  class Wizard::ActiveRecord_Relation < ActiveRecord::Relation
@@ -509,7 +518,7 @@ class Wizard::ActiveRecord_Relation < ActiveRecord::Relation
509
518
  sig { params(args: T.untyped).returns(T::Boolean) }
510
519
  def one?(*args); end
511
520
 
512
- sig { override.params(block: T.proc.params(e: Wizard).void).void }
521
+ sig { override.params(block: T.proc.params(e: Wizard).void).returns(T::Array[Wizard]) }
513
522
  def each(&block); end
514
523
 
515
524
  sig { params(level: T.nilable(Integer)).returns(T::Array[Wizard]) }
@@ -691,7 +700,7 @@ class Wizard::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelati
691
700
  sig { params(args: T.untyped).returns(T::Boolean) }
692
701
  def one?(*args); end
693
702
 
694
- sig { override.params(block: T.proc.params(e: Wizard).void).void }
703
+ sig { override.params(block: T.proc.params(e: Wizard).void).returns(T::Array[Wizard]) }
695
704
  def each(&block); end
696
705
 
697
706
  sig { params(level: T.nilable(Integer)).returns(T::Array[Wizard]) }
@@ -872,7 +881,7 @@ class Wizard::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associat
872
881
  sig { params(args: T.untyped).returns(T::Boolean) }
873
882
  def one?(*args); end
874
883
 
875
- sig { override.params(block: T.proc.params(e: Wizard).void).void }
884
+ sig { override.params(block: T.proc.params(e: Wizard).void).returns(T::Array[Wizard]) }
876
885
  def each(&block); end
877
886
 
878
887
  sig { params(level: T.nilable(Integer)).returns(T::Array[Wizard]) }
@@ -65,10 +65,10 @@ module Wizard::GeneratedAttributeMethods
65
65
  sig { returns(T::Boolean) }
66
66
  def broom?; end
67
67
 
68
- sig { returns(T.nilable(Time)) }
68
+ sig { returns(ActiveSupport::TimeWithZone) }
69
69
  def created_at; end
70
70
 
71
- sig { params(value: T.nilable(Time)).void }
71
+ sig { params(value: T.any(DateTime, Date, Time, ActiveSupport::TimeWithZone)).void }
72
72
  def created_at=(value); end
73
73
 
74
74
  sig { returns(T::Boolean) }
@@ -128,10 +128,10 @@ module Wizard::GeneratedAttributeMethods
128
128
  sig { returns(T::Boolean) }
129
129
  def type?; end
130
130
 
131
- sig { returns(T.nilable(Time)) }
131
+ sig { returns(ActiveSupport::TimeWithZone) }
132
132
  def updated_at; end
133
133
 
134
- sig { params(value: T.nilable(Time)).void }
134
+ sig { params(value: T.any(DateTime, Date, Time, ActiveSupport::TimeWithZone)).void }
135
135
  def updated_at=(value); end
136
136
 
137
137
  sig { returns(T::Boolean) }
@@ -343,6 +343,15 @@ class Wizard < ApplicationRecord
343
343
 
344
344
  sig { params(args: T.untyped).returns(T::Boolean) }
345
345
  def self.one?(*args); end
346
+
347
+ sig { params(attributes: T.untyped, block: T.untyped).returns(Wizard) }
348
+ def self.create(attributes = nil, &block); end
349
+
350
+ sig { params(attributes: T.untyped, block: T.untyped).returns(Wizard) }
351
+ def self.create!(attributes = nil, &block); end
352
+
353
+ sig { params(attributes: T.untyped, block: T.untyped).returns(Wizard) }
354
+ def self.new(attributes = nil, &block); end
346
355
  end
347
356
 
348
357
  class Wizard::ActiveRecord_Relation < ActiveRecord::Relation
@@ -509,7 +518,7 @@ class Wizard::ActiveRecord_Relation < ActiveRecord::Relation
509
518
  sig { params(args: T.untyped).returns(T::Boolean) }
510
519
  def one?(*args); end
511
520
 
512
- sig { override.params(block: T.proc.params(e: Wizard).void).void }
521
+ sig { override.params(block: T.proc.params(e: Wizard).void).returns(T::Array[Wizard]) }
513
522
  def each(&block); end
514
523
 
515
524
  sig { params(level: T.nilable(Integer)).returns(T::Array[Wizard]) }
@@ -691,7 +700,7 @@ class Wizard::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelati
691
700
  sig { params(args: T.untyped).returns(T::Boolean) }
692
701
  def one?(*args); end
693
702
 
694
- sig { override.params(block: T.proc.params(e: Wizard).void).void }
703
+ sig { override.params(block: T.proc.params(e: Wizard).void).returns(T::Array[Wizard]) }
695
704
  def each(&block); end
696
705
 
697
706
  sig { params(level: T.nilable(Integer)).returns(T::Array[Wizard]) }
@@ -872,7 +881,7 @@ class Wizard::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associat
872
881
  sig { params(args: T.untyped).returns(T::Boolean) }
873
882
  def one?(*args); end
874
883
 
875
- sig { override.params(block: T.proc.params(e: Wizard).void).void }
884
+ sig { override.params(block: T.proc.params(e: Wizard).void).returns(T::Array[Wizard]) }
876
885
  def each(&block); end
877
886
 
878
887
  sig { params(level: T.nilable(Integer)).returns(T::Array[Wizard]) }
@@ -20,3 +20,8 @@ module FooHelper
20
20
  include Kernel
21
21
  include ActionView::Helpers
22
22
  end
23
+
24
+ module ActionController::Helpers
25
+ sig { returns(T.all(ApplicationHelper, BarHelper, BazHelper, FooHelper)) }
26
+ def helpers; end
27
+ end
@@ -27,3 +27,8 @@ module FooHelper
27
27
  include ApplicationHelper
28
28
  include DeviseHelper
29
29
  end
30
+
31
+ module ActionController::Helpers
32
+ sig { returns(T.all(ApplicationHelper, BarHelper, BazHelper, FooHelper)) }
33
+ def helpers; end
34
+ end
@@ -10,10 +10,10 @@ end
10
10
  module ActiveRecord::InternalMetadata::GeneratedAttributeMethods
11
11
  extend T::Sig
12
12
 
13
- sig { returns(DateTime) }
13
+ sig { returns(ActiveSupport::TimeWithZone) }
14
14
  def created_at; end
15
15
 
16
- sig { params(value: DateTime).void }
16
+ sig { params(value: T.any(DateTime, Date, Time, ActiveSupport::TimeWithZone)).void }
17
17
  def created_at=(value); end
18
18
 
19
19
  sig { returns(T::Boolean) }
@@ -28,10 +28,10 @@ module ActiveRecord::InternalMetadata::GeneratedAttributeMethods
28
28
  sig { returns(T::Boolean) }
29
29
  def key?; end
30
30
 
31
- sig { returns(DateTime) }
31
+ sig { returns(ActiveSupport::TimeWithZone) }
32
32
  def updated_at; end
33
33
 
34
- sig { params(value: DateTime).void }
34
+ sig { params(value: T.any(DateTime, Date, Time, ActiveSupport::TimeWithZone)).void }
35
35
  def updated_at=(value); end
36
36
 
37
37
  sig { returns(T::Boolean) }
@@ -210,6 +210,15 @@ class ActiveRecord::InternalMetadata < ActiveRecord::Base
210
210
 
211
211
  sig { params(args: T.untyped).returns(T::Boolean) }
212
212
  def self.one?(*args); end
213
+
214
+ sig { params(attributes: T.untyped, block: T.untyped).returns(ActiveRecord::InternalMetadata) }
215
+ def self.create(attributes = nil, &block); end
216
+
217
+ sig { params(attributes: T.untyped, block: T.untyped).returns(ActiveRecord::InternalMetadata) }
218
+ def self.create!(attributes = nil, &block); end
219
+
220
+ sig { params(attributes: T.untyped, block: T.untyped).returns(ActiveRecord::InternalMetadata) }
221
+ def self.new(attributes = nil, &block); end
213
222
  end
214
223
 
215
224
  class ActiveRecord::InternalMetadata::ActiveRecord_Relation < ActiveRecord::Relation
@@ -361,7 +370,7 @@ class ActiveRecord::InternalMetadata::ActiveRecord_Relation < ActiveRecord::Rela
361
370
  sig { params(args: T.untyped).returns(T::Boolean) }
362
371
  def one?(*args); end
363
372
 
364
- sig { override.params(block: T.proc.params(e: ActiveRecord::InternalMetadata).void).void }
373
+ sig { override.params(block: T.proc.params(e: ActiveRecord::InternalMetadata).void).returns(T::Array[ActiveRecord::InternalMetadata]) }
365
374
  def each(&block); end
366
375
 
367
376
  sig { params(level: T.nilable(Integer)).returns(T::Array[ActiveRecord::InternalMetadata]) }
@@ -528,7 +537,7 @@ class ActiveRecord::InternalMetadata::ActiveRecord_AssociationRelation < ActiveR
528
537
  sig { params(args: T.untyped).returns(T::Boolean) }
529
538
  def one?(*args); end
530
539
 
531
- sig { override.params(block: T.proc.params(e: ActiveRecord::InternalMetadata).void).void }
540
+ sig { override.params(block: T.proc.params(e: ActiveRecord::InternalMetadata).void).returns(T::Array[ActiveRecord::InternalMetadata]) }
532
541
  def each(&block); end
533
542
 
534
543
  sig { params(level: T.nilable(Integer)).returns(T::Array[ActiveRecord::InternalMetadata]) }
@@ -694,7 +703,7 @@ class ActiveRecord::InternalMetadata::ActiveRecord_Associations_CollectionProxy
694
703
  sig { params(args: T.untyped).returns(T::Boolean) }
695
704
  def one?(*args); end
696
705
 
697
- sig { override.params(block: T.proc.params(e: ActiveRecord::InternalMetadata).void).void }
706
+ sig { override.params(block: T.proc.params(e: ActiveRecord::InternalMetadata).void).returns(T::Array[ActiveRecord::InternalMetadata]) }
698
707
  def each(&block); end
699
708
 
700
709
  sig { params(level: T.nilable(Integer)).returns(T::Array[ActiveRecord::InternalMetadata]) }