sorbet-rails 0.7.2 → 0.7.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (130) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -1
  3. data/lib/sorbet-rails/config.rb +1 -0
  4. data/lib/sorbet-rails/dependent_gem_rbis/activerecord.rbi +3 -0
  5. data/lib/sorbet-rails/model_plugins/active_record_assoc.rb +17 -5
  6. data/lib/sorbet-rails/model_plugins/active_record_attribute.rb +2 -0
  7. data/lib/sorbet-rails/model_plugins/active_record_serialized_attribute.rb +68 -0
  8. data/lib/sorbet-rails/model_plugins/base.rb +8 -0
  9. data/lib/sorbet-rails/model_plugins/plugins.rb +3 -0
  10. data/lib/sorbet-rails/model_rbi_formatter.rb +3 -3
  11. data/lib/sorbet-rails/rails_mixins/pluck_to_tstruct.rb +39 -2
  12. data/lib/sorbet-rails/routes_rbi_formatter.rb +4 -0
  13. data/lib/sorbet-rails/tasks/rails_rbi.rake +4 -3
  14. data/sorbet-rails.gemspec +1 -1
  15. data/spec/bin/run_spec.sh +1 -1
  16. data/spec/generators/rails-template.rb +16 -0
  17. data/spec/generators/sorbet_test_cases.rb +15 -0
  18. data/spec/pluck_to_tstruct_spec.rb +51 -25
  19. data/spec/sorbet_spec.rb +1 -1
  20. data/spec/support/v5.0/Gemfile.lock +4 -4
  21. data/spec/support/v5.0/app/controllers/application_controller.rb +1 -1
  22. data/spec/support/v5.0/app/models/headmaster.rb +1 -1
  23. data/spec/support/v5.0/app/models/potion.rb +1 -1
  24. data/spec/support/v5.0/app/models/robe.rb +1 -1
  25. data/spec/support/v5.0/app/models/school.rb +1 -1
  26. data/spec/support/v5.0/app/models/spell.rb +1 -1
  27. data/spec/support/v5.0/app/models/subject.rb +1 -1
  28. data/spec/support/v5.0/app/models/wizard.rb +5 -0
  29. data/spec/support/v5.0/config/environments/development.rb +1 -1
  30. data/spec/support/v5.0/config/environments/production.rb +1 -1
  31. data/spec/support/v5.0/config/environments/test.rb +1 -1
  32. data/spec/support/v5.0/config/initializers/wrap_parameters.rb +1 -1
  33. data/spec/support/v5.0/config/routes.rb +1 -1
  34. data/spec/support/v5.0/db/migrate/20190620000015_add_serialized_to_wizards.rb +9 -0
  35. data/spec/support/v5.0/db/schema.rb +8 -4
  36. data/spec/support/v5.0/sorbet_test_cases.rb +15 -0
  37. data/spec/support/v5.1/Gemfile.lock +4 -4
  38. data/spec/support/v5.1/app/controllers/application_controller.rb +1 -1
  39. data/spec/support/v5.1/app/models/headmaster.rb +1 -1
  40. data/spec/support/v5.1/app/models/school.rb +1 -1
  41. data/spec/support/v5.1/app/models/wizard.rb +5 -0
  42. data/spec/support/v5.1/config/environments/production.rb +1 -1
  43. data/spec/support/v5.1/config/initializers/wrap_parameters.rb +1 -1
  44. data/spec/support/v5.1/config/routes.rb +1 -1
  45. data/spec/support/v5.1/db/migrate/20190620000015_add_serialized_to_wizards.rb +9 -0
  46. data/spec/support/v5.1/db/schema.rb +5 -1
  47. data/spec/support/v5.1/sorbet_test_cases.rb +15 -0
  48. data/spec/support/v5.2/Gemfile.lock +4 -4
  49. data/spec/support/v5.2/app/models/headmaster.rb +1 -1
  50. data/spec/support/v5.2/app/models/school.rb +1 -1
  51. data/spec/support/v5.2/app/models/wizard.rb +5 -0
  52. data/spec/support/v5.2/config/environments/development.rb +1 -1
  53. data/spec/support/v5.2/config/environments/production.rb +1 -1
  54. data/spec/support/v5.2/config/environments/test.rb +1 -1
  55. data/spec/support/v5.2/config/initializers/wrap_parameters.rb +1 -1
  56. data/spec/support/v5.2/config/routes.rb +1 -1
  57. data/spec/support/v5.2/db/migrate/20190620000015_add_serialized_to_wizards.rb +9 -0
  58. data/spec/support/v5.2/db/schema.rb +5 -1
  59. data/spec/support/v5.2/sorbet_test_cases.rb +15 -0
  60. data/spec/support/v6.0/Gemfile.lock +4 -4
  61. data/spec/support/v6.0/app/models/wizard.rb +5 -0
  62. data/spec/support/v6.0/config/environments/development.rb +1 -1
  63. data/spec/support/v6.0/config/environments/production.rb +1 -1
  64. data/spec/support/v6.0/config/environments/test.rb +1 -1
  65. data/spec/support/v6.0/config/routes.rb +1 -1
  66. data/spec/support/v6.0/db/migrate/20190620000015_add_serialized_to_wizards.rb +9 -0
  67. data/spec/support/v6.0/db/schema.rb +5 -1
  68. data/spec/support/v6.0/sorbet_test_cases.rb +15 -0
  69. data/spec/test_data/v5.0/expected_headmaster.rbi +6 -0
  70. data/spec/test_data/v5.0/expected_potion.rbi +3 -0
  71. data/spec/test_data/v5.0/expected_robe.rbi +3 -0
  72. data/spec/test_data/v5.0/expected_routes.rbi +4 -0
  73. data/spec/test_data/v5.0/expected_school.rbi +3 -0
  74. data/spec/test_data/v5.0/expected_spell/habtm_spell_books.rbi +6 -0
  75. data/spec/test_data/v5.0/expected_spell_book.rbi +3 -0
  76. data/spec/test_data/v5.0/expected_spell_book/habtm_spells.rbi +6 -0
  77. data/spec/test_data/v5.0/expected_squib.rbi +45 -0
  78. data/spec/test_data/v5.0/expected_subject/habtm_wizards.rbi +6 -0
  79. data/spec/test_data/v5.0/expected_wand.rbi +3 -0
  80. data/spec/test_data/v5.0/expected_wizard.rbi +45 -0
  81. data/spec/test_data/v5.0/expected_wizard/habtm_subjects.rbi +6 -0
  82. data/spec/test_data/v5.0/expected_wizard_wo_spellbook.rbi +45 -0
  83. data/spec/test_data/v5.1/expected_headmaster.rbi +6 -0
  84. data/spec/test_data/v5.1/expected_potion.rbi +3 -0
  85. data/spec/test_data/v5.1/expected_robe.rbi +3 -0
  86. data/spec/test_data/v5.1/expected_routes.rbi +4 -0
  87. data/spec/test_data/v5.1/expected_school.rbi +3 -0
  88. data/spec/test_data/v5.1/expected_spell/habtm_spell_books.rbi +6 -0
  89. data/spec/test_data/v5.1/expected_spell_book.rbi +3 -0
  90. data/spec/test_data/v5.1/expected_spell_book/habtm_spells.rbi +6 -0
  91. data/spec/test_data/v5.1/expected_squib.rbi +45 -0
  92. data/spec/test_data/v5.1/expected_subject/habtm_wizards.rbi +6 -0
  93. data/spec/test_data/v5.1/expected_wand.rbi +3 -0
  94. data/spec/test_data/v5.1/expected_wizard.rbi +45 -0
  95. data/spec/test_data/v5.1/expected_wizard/habtm_subjects.rbi +6 -0
  96. data/spec/test_data/v5.1/expected_wizard_wo_spellbook.rbi +45 -0
  97. data/spec/test_data/v5.2/expected_attachment.rbi +6 -0
  98. data/spec/test_data/v5.2/expected_blob.rbi +6 -0
  99. data/spec/test_data/v5.2/expected_headmaster.rbi +6 -0
  100. data/spec/test_data/v5.2/expected_potion.rbi +3 -0
  101. data/spec/test_data/v5.2/expected_robe.rbi +3 -0
  102. data/spec/test_data/v5.2/expected_routes.rbi +4 -0
  103. data/spec/test_data/v5.2/expected_school.rbi +3 -0
  104. data/spec/test_data/v5.2/expected_spell/habtm_spell_books.rbi +6 -0
  105. data/spec/test_data/v5.2/expected_spell_book.rbi +3 -0
  106. data/spec/test_data/v5.2/expected_spell_book/habtm_spells.rbi +6 -0
  107. data/spec/test_data/v5.2/expected_squib.rbi +51 -0
  108. data/spec/test_data/v5.2/expected_subject/habtm_wizards.rbi +6 -0
  109. data/spec/test_data/v5.2/expected_wand.rbi +3 -0
  110. data/spec/test_data/v5.2/expected_wizard.rbi +51 -0
  111. data/spec/test_data/v5.2/expected_wizard/habtm_subjects.rbi +6 -0
  112. data/spec/test_data/v5.2/expected_wizard_wo_spellbook.rbi +51 -0
  113. data/spec/test_data/v6.0/expected_attachment.rbi +6 -0
  114. data/spec/test_data/v6.0/expected_blob.rbi +6 -0
  115. data/spec/test_data/v6.0/expected_headmaster.rbi +6 -0
  116. data/spec/test_data/v6.0/expected_potion.rbi +3 -0
  117. data/spec/test_data/v6.0/expected_robe.rbi +3 -0
  118. data/spec/test_data/v6.0/expected_routes.rbi +4 -0
  119. data/spec/test_data/v6.0/expected_school.rbi +3 -0
  120. data/spec/test_data/v6.0/expected_spell/habtm_spell_books.rbi +6 -0
  121. data/spec/test_data/v6.0/expected_spell_book.rbi +3 -0
  122. data/spec/test_data/v6.0/expected_spell_book/habtm_spells.rbi +6 -0
  123. data/spec/test_data/v6.0/expected_squib.rbi +51 -0
  124. data/spec/test_data/v6.0/expected_subject/habtm_wizards.rbi +6 -0
  125. data/spec/test_data/v6.0/expected_wand.rbi +3 -0
  126. data/spec/test_data/v6.0/expected_wizard.rbi +51 -0
  127. data/spec/test_data/v6.0/expected_wizard/habtm_subjects.rbi +6 -0
  128. data/spec/test_data/v6.0/expected_wizard_wo_spellbook.rbi +51 -0
  129. data/spec/tstruct_comparable.rb +13 -0
  130. metadata +12 -1
@@ -0,0 +1,13 @@
1
+ module TStructComparable
2
+ def ==(other)
3
+ return false unless other.is_a?(self.class)
4
+
5
+ self.class.props.keys.all? do |prop|
6
+ self.send(prop) == other.send(prop)
7
+ end
8
+ end
9
+
10
+ def eql?(other)
11
+ self == other
12
+ end
13
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sorbet-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.2
4
+ version: 0.7.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chan Zuckerberg Initiative
@@ -229,6 +229,7 @@ files:
229
229
  - lib/sorbet-rails/model_plugins/active_record_enum.rb
230
230
  - lib/sorbet-rails/model_plugins/active_record_named_scope.rb
231
231
  - lib/sorbet-rails/model_plugins/active_record_querying.rb
232
+ - lib/sorbet-rails/model_plugins/active_record_serialized_attribute.rb
232
233
  - lib/sorbet-rails/model_plugins/active_relation_where_not.rb
233
234
  - lib/sorbet-rails/model_plugins/active_storage_methods.rb
234
235
  - lib/sorbet-rails/model_plugins/base.rb
@@ -352,6 +353,7 @@ files:
352
353
  - spec/support/v5.0/db/migrate/20190620000012_add_spell.rb
353
354
  - spec/support/v5.0/db/migrate/20190620000013_add_spells_spell_books.rb
354
355
  - spec/support/v5.0/db/migrate/20190620000014_create_headmasters.rb
356
+ - spec/support/v5.0/db/migrate/20190620000015_add_serialized_to_wizards.rb
355
357
  - spec/support/v5.0/db/schema.rb
356
358
  - spec/support/v5.0/db/seeds.rb
357
359
  - spec/support/v5.0/lib/assets/.keep
@@ -436,6 +438,7 @@ files:
436
438
  - spec/support/v5.1/db/migrate/20190620000012_add_spell.rb
437
439
  - spec/support/v5.1/db/migrate/20190620000013_add_spells_spell_books.rb
438
440
  - spec/support/v5.1/db/migrate/20190620000014_create_headmasters.rb
441
+ - spec/support/v5.1/db/migrate/20190620000015_add_serialized_to_wizards.rb
439
442
  - spec/support/v5.1/db/schema.rb
440
443
  - spec/support/v5.1/db/seeds.rb
441
444
  - spec/support/v5.1/lib/assets/.keep
@@ -523,6 +526,7 @@ files:
523
526
  - spec/support/v5.2/db/migrate/20190620000012_add_spell.rb
524
527
  - spec/support/v5.2/db/migrate/20190620000013_add_spells_spell_books.rb
525
528
  - spec/support/v5.2/db/migrate/20190620000014_create_headmasters.rb
529
+ - spec/support/v5.2/db/migrate/20190620000015_add_serialized_to_wizards.rb
526
530
  - spec/support/v5.2/db/schema.rb
527
531
  - spec/support/v5.2/db/seeds.rb
528
532
  - spec/support/v5.2/lib/assets/.keep
@@ -609,6 +613,7 @@ files:
609
613
  - spec/support/v6.0/db/migrate/20190620000012_add_spell.rb
610
614
  - spec/support/v6.0/db/migrate/20190620000013_add_spells_spell_books.rb
611
615
  - spec/support/v6.0/db/migrate/20190620000014_create_headmasters.rb
616
+ - spec/support/v6.0/db/migrate/20190620000015_add_serialized_to_wizards.rb
612
617
  - spec/support/v6.0/db/schema.rb
613
618
  - spec/support/v6.0/db/seeds.rb
614
619
  - spec/support/v6.0/lib/assets/.keep
@@ -773,6 +778,7 @@ files:
773
778
  - spec/test_data/v6.0/expected_wizard.rbi
774
779
  - spec/test_data/v6.0/expected_wizard/habtm_subjects.rbi
775
780
  - spec/test_data/v6.0/expected_wizard_wo_spellbook.rbi
781
+ - spec/tstruct_comparable.rb
776
782
  - spec/typed_enum_spec.rb
777
783
  - spec/typed_params_spec.rb
778
784
  - spec/utils_spec.rb
@@ -901,6 +907,7 @@ test_files:
901
907
  - spec/support/v5.0/db/migrate/20190620000012_add_spell.rb
902
908
  - spec/support/v5.0/db/migrate/20190620000013_add_spells_spell_books.rb
903
909
  - spec/support/v5.0/db/migrate/20190620000014_create_headmasters.rb
910
+ - spec/support/v5.0/db/migrate/20190620000015_add_serialized_to_wizards.rb
904
911
  - spec/support/v5.0/db/schema.rb
905
912
  - spec/support/v5.0/db/seeds.rb
906
913
  - spec/support/v5.0/lib/assets/.keep
@@ -985,6 +992,7 @@ test_files:
985
992
  - spec/support/v5.1/db/migrate/20190620000012_add_spell.rb
986
993
  - spec/support/v5.1/db/migrate/20190620000013_add_spells_spell_books.rb
987
994
  - spec/support/v5.1/db/migrate/20190620000014_create_headmasters.rb
995
+ - spec/support/v5.1/db/migrate/20190620000015_add_serialized_to_wizards.rb
988
996
  - spec/support/v5.1/db/schema.rb
989
997
  - spec/support/v5.1/db/seeds.rb
990
998
  - spec/support/v5.1/lib/assets/.keep
@@ -1072,6 +1080,7 @@ test_files:
1072
1080
  - spec/support/v5.2/db/migrate/20190620000012_add_spell.rb
1073
1081
  - spec/support/v5.2/db/migrate/20190620000013_add_spells_spell_books.rb
1074
1082
  - spec/support/v5.2/db/migrate/20190620000014_create_headmasters.rb
1083
+ - spec/support/v5.2/db/migrate/20190620000015_add_serialized_to_wizards.rb
1075
1084
  - spec/support/v5.2/db/schema.rb
1076
1085
  - spec/support/v5.2/db/seeds.rb
1077
1086
  - spec/support/v5.2/lib/assets/.keep
@@ -1158,6 +1167,7 @@ test_files:
1158
1167
  - spec/support/v6.0/db/migrate/20190620000012_add_spell.rb
1159
1168
  - spec/support/v6.0/db/migrate/20190620000013_add_spells_spell_books.rb
1160
1169
  - spec/support/v6.0/db/migrate/20190620000014_create_headmasters.rb
1170
+ - spec/support/v6.0/db/migrate/20190620000015_add_serialized_to_wizards.rb
1161
1171
  - spec/support/v6.0/db/schema.rb
1162
1172
  - spec/support/v6.0/db/seeds.rb
1163
1173
  - spec/support/v6.0/lib/assets/.keep
@@ -1322,6 +1332,7 @@ test_files:
1322
1332
  - spec/test_data/v6.0/expected_wizard.rbi
1323
1333
  - spec/test_data/v6.0/expected_wizard/habtm_subjects.rbi
1324
1334
  - spec/test_data/v6.0/expected_wizard_wo_spellbook.rbi
1335
+ - spec/tstruct_comparable.rb
1325
1336
  - spec/typed_enum_spec.rb
1326
1337
  - spec/typed_params_spec.rb
1327
1338
  - spec/utils_spec.rb