sorbet-rails 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (431) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +5 -2
  3. data/.travis.yml +7 -1
  4. data/CONTRIBUTING.md +3 -1
  5. data/Gemfile +11 -0
  6. data/README.md +0 -2
  7. data/{rbi → lib/sorbet-rails/rbi}/activerecord.rbi +118 -86
  8. data/lib/sorbet-rails/tasks/rails_rbi.rake +15 -6
  9. data/lib/sorbet-rails/utils.rb +11 -0
  10. data/sorbet-rails.gemspec +1 -1
  11. data/spec/bin/run_all_specs.sh +3 -2
  12. data/spec/bin/run_spec.sh +33 -26
  13. data/spec/model_rbi_formatter_spec.rb +0 -15
  14. data/spec/rails_helper.rb +12 -7
  15. data/spec/rake_rails_rbi_models_spec.rb +22 -5
  16. data/spec/rake_rails_rbi_routes_spec.rb +0 -1
  17. data/spec/sorbet_spec.rb +80 -0
  18. data/spec/support/rails_shared/config/routes.rb +1 -0
  19. data/spec/support/rails_shared/sorbet_test_cases.rb +120 -0
  20. data/spec/support/rails_symlinks/sorbet_test_cases.rb +1 -0
  21. data/spec/support/v4.2/Gemfile +13 -0
  22. data/spec/support/v4.2/Gemfile.lock +138 -0
  23. data/spec/support/v4.2/app/controllers/application_controller.rb +1 -0
  24. data/spec/support/v4.2/app/helpers/application_helper.rb +1 -0
  25. data/spec/support/v4.2/config/application.rb +1 -0
  26. data/spec/support/v4.2/config/boot.rb +1 -0
  27. data/spec/support/v4.2/config/environment.rb +1 -0
  28. data/spec/support/v4.2/config/environments/development.rb +1 -0
  29. data/spec/support/v4.2/config/environments/production.rb +1 -0
  30. data/spec/support/v4.2/config/environments/test.rb +1 -0
  31. data/spec/support/v4.2/config/initializers/backtrace_silencers.rb +1 -0
  32. data/spec/support/v4.2/config/initializers/cookies_serializer.rb +1 -0
  33. data/spec/support/v4.2/config/initializers/filter_parameter_logging.rb +1 -0
  34. data/spec/support/v4.2/config/initializers/inflections.rb +1 -0
  35. data/spec/support/v4.2/config/initializers/mime_types.rb +1 -0
  36. data/spec/support/v4.2/config/initializers/session_store.rb +1 -0
  37. data/spec/support/v4.2/config/initializers/to_time_preserves_timezone.rb +1 -0
  38. data/spec/support/v4.2/config/initializers/wrap_parameters.rb +1 -0
  39. data/spec/support/v4.2/config/routes.rb +1 -0
  40. data/spec/support/v4.2/db/migrate/20190620001234_create_wizards.rb +1 -0
  41. data/spec/support/v4.2/db/migrate/20190620003037_create_wands.rb +1 -0
  42. data/spec/support/v4.2/db/migrate/20190620003739_create_spell_books.rb +1 -0
  43. data/spec/support/v4.2/db/migrate/20190622000000_add_more_column_types_to_wands.rb +1 -0
  44. data/spec/support/v4.2/db/schema.rb +1 -0
  45. data/spec/support/v4.2/db/seeds.rb +1 -0
  46. data/spec/support/v4.2/sorbet/config +2 -0
  47. data/spec/support/v4.2/sorbet/rbi/gems/actionmailer.rbi +267 -0
  48. data/spec/support/v4.2/sorbet/rbi/gems/actionpack.rbi +2885 -0
  49. data/spec/support/v4.2/sorbet/rbi/gems/actionview.rbi +978 -0
  50. data/spec/support/v4.2/sorbet/rbi/gems/activejob.rbi +19 -0
  51. data/spec/support/v4.2/sorbet/rbi/gems/activemodel.rbi +335 -0
  52. data/spec/support/v4.2/sorbet/rbi/gems/activerecord.rbi +3382 -0
  53. data/spec/support/v4.2/sorbet/rbi/gems/activesupport.rbi +1892 -0
  54. data/spec/support/v4.2/sorbet/rbi/gems/arel.rbi +1109 -0
  55. data/spec/support/v4.2/sorbet/rbi/gems/binding_of_caller.rbi +22 -0
  56. data/spec/support/v4.2/sorbet/rbi/gems/byebug.rbi +1039 -0
  57. data/spec/support/v4.2/sorbet/rbi/gems/concurrent-ruby.rbi +218 -0
  58. data/spec/support/v4.2/sorbet/rbi/gems/crass.rbi +92 -0
  59. data/spec/support/v4.2/sorbet/rbi/gems/debug_inspector.rbi +18 -0
  60. data/spec/support/v4.2/sorbet/rbi/gems/erubis.rbi +265 -0
  61. data/spec/support/v4.2/sorbet/rbi/gems/globalid.rbi +98 -0
  62. data/spec/support/v4.2/sorbet/rbi/gems/i18n.rbi +186 -0
  63. data/spec/support/v4.2/sorbet/rbi/gems/jbuilder.rbi +99 -0
  64. data/spec/support/v4.2/sorbet/rbi/gems/loofah.rbi +129 -0
  65. data/spec/support/v4.2/sorbet/rbi/gems/mail.rbi +1091 -0
  66. data/spec/support/v4.2/sorbet/rbi/gems/mini_mime.rbi +45 -0
  67. data/spec/support/v4.2/sorbet/rbi/gems/minitest.rbi +276 -0
  68. data/spec/support/v4.2/sorbet/rbi/gems/nokogiri.rbi +1010 -0
  69. data/spec/support/v4.2/sorbet/rbi/gems/rack-test.rbi +145 -0
  70. data/spec/support/v4.2/sorbet/rbi/gems/rack.rbi +490 -0
  71. data/spec/support/v4.2/sorbet/rbi/gems/rails-deprecated_sanitizer.rbi +13 -0
  72. data/spec/support/v4.2/sorbet/rbi/gems/rails-dom-testing.rbi +76 -0
  73. data/spec/support/v4.2/sorbet/rbi/gems/rails-html-sanitizer.rbi +90 -0
  74. data/spec/support/v4.2/sorbet/rbi/gems/railties.rbi +623 -0
  75. data/spec/support/v4.2/sorbet/rbi/gems/rdoc.rbi +1053 -0
  76. data/spec/support/v4.2/sorbet/rbi/gems/sdoc.rbi +73 -0
  77. data/spec/support/v4.2/sorbet/rbi/gems/sorbet-runtime.rbi +647 -0
  78. data/spec/support/v4.2/sorbet/rbi/gems/sqlite3.rbi +345 -0
  79. data/spec/support/v4.2/sorbet/rbi/gems/thor.rbi +401 -0
  80. data/spec/support/v4.2/sorbet/rbi/gems/thread_safe.rbi +81 -0
  81. data/spec/support/v4.2/sorbet/rbi/gems/tzinfo.rbi +407 -0
  82. data/spec/support/v4.2/sorbet/rbi/gems/web-console.rbi +136 -0
  83. data/spec/support/v4.2/sorbet/rbi/hidden-definitions/errors.txt +11998 -0
  84. data/spec/support/v4.2/sorbet/rbi/hidden-definitions/hidden.rbi +27774 -0
  85. data/spec/support/v4.2/sorbet/rbi/sorbet-typed/lib/actionmailer/all/actionmailer.rbi +13 -0
  86. data/spec/support/v4.2/sorbet/rbi/sorbet-typed/lib/actionpack/all/actionpack.rbi +13 -0
  87. data/spec/support/v4.2/sorbet/rbi/sorbet-typed/lib/activerecord/all/activerecord.rbi +51 -0
  88. data/spec/support/v4.2/sorbet/rbi/sorbet-typed/lib/activesupport/all/activesupport.rbi +107 -0
  89. data/spec/support/v4.2/sorbet/rbi/sorbet-typed/lib/bundler/all/bundler.rbi +8547 -0
  90. data/spec/support/v4.2/sorbet/rbi/sorbet-typed/lib/railties/all/railties.rbi +22 -0
  91. data/spec/support/v4.2/sorbet/rbi/sorbet-typed/lib/ruby/all/open3.rbi +111 -0
  92. data/spec/support/v4.2/sorbet/rbi/sorbet-typed/lib/ruby/all/resolv.rbi +543 -0
  93. data/spec/support/v4.2/sorbet/rbi/todo.rbi +8 -0
  94. data/spec/support/v4.2/sorbet_test_cases.rb +1 -0
  95. data/spec/support/v4.2/test/test_helper.rb +1 -0
  96. data/spec/support/v5.0/Gemfile +13 -0
  97. data/spec/support/v5.0/Gemfile.lock +130 -0
  98. data/spec/support/v5.0/app/channels/application_cable/channel.rb +1 -0
  99. data/spec/support/v5.0/app/channels/application_cable/connection.rb +1 -0
  100. data/spec/support/v5.0/app/jobs/application_job.rb +1 -0
  101. data/spec/support/v5.0/app/mailers/application_mailer.rb +1 -0
  102. data/spec/support/v5.0/config/application.rb +1 -0
  103. data/spec/support/v5.0/config/boot.rb +1 -0
  104. data/spec/support/v5.0/config/environment.rb +1 -0
  105. data/spec/support/v5.0/config/environments/development.rb +1 -0
  106. data/spec/support/v5.0/config/environments/production.rb +1 -0
  107. data/spec/support/v5.0/config/environments/test.rb +1 -0
  108. data/spec/support/v5.0/config/initializers/application_controller_renderer.rb +1 -0
  109. data/spec/support/v5.0/config/initializers/backtrace_silencers.rb +1 -0
  110. data/spec/support/v5.0/config/initializers/cors.rb +1 -0
  111. data/spec/support/v5.0/config/initializers/filter_parameter_logging.rb +1 -0
  112. data/spec/support/v5.0/config/initializers/inflections.rb +1 -0
  113. data/spec/support/v5.0/config/initializers/mime_types.rb +1 -0
  114. data/spec/support/v5.0/config/initializers/new_framework_defaults.rb +1 -0
  115. data/spec/support/v5.0/config/initializers/wrap_parameters.rb +1 -0
  116. data/spec/support/v5.0/config/puma.rb +1 -0
  117. data/spec/support/v5.0/config/routes.rb +1 -0
  118. data/spec/support/v5.0/db/schema.rb +1 -0
  119. data/spec/support/v5.0/db/seeds.rb +1 -0
  120. data/spec/support/v5.0/rails_symlinks/config/routes.rb +1 -0
  121. data/spec/support/v5.0/sorbet/config +2 -0
  122. data/spec/support/v5.0/sorbet/rbi/gems/actioncable.rbi +309 -0
  123. data/spec/support/v5.0/sorbet/rbi/gems/actionmailer.rbi +379 -0
  124. data/spec/support/v5.0/sorbet/rbi/gems/actionpack.rbi +3150 -0
  125. data/spec/support/v5.0/sorbet/rbi/gems/actionview.rbi +1093 -0
  126. data/spec/support/v5.0/sorbet/rbi/gems/activejob.rbi +252 -0
  127. data/spec/support/v5.0/sorbet/rbi/gems/activemodel.rbi +562 -0
  128. data/spec/support/v5.0/sorbet/rbi/gems/activerecord.rbi +4060 -0
  129. data/spec/support/v5.0/sorbet/rbi/gems/activesupport.rbi +2078 -0
  130. data/spec/support/v5.0/sorbet/rbi/gems/arel.rbi +1222 -0
  131. data/spec/support/v5.0/sorbet/rbi/gems/byebug.rbi +1039 -0
  132. data/spec/support/v5.0/sorbet/rbi/gems/concurrent-ruby.rbi +1587 -0
  133. data/spec/support/v5.0/sorbet/rbi/gems/crass.rbi +92 -0
  134. data/spec/support/v5.0/sorbet/rbi/gems/erubis.rbi +265 -0
  135. data/spec/support/v5.0/sorbet/rbi/gems/globalid.rbi +98 -0
  136. data/spec/support/v5.0/sorbet/rbi/gems/i18n.rbi +191 -0
  137. data/spec/support/v5.0/sorbet/rbi/gems/loofah.rbi +129 -0
  138. data/spec/support/v5.0/sorbet/rbi/gems/mail.rbi +1091 -0
  139. data/spec/support/v5.0/sorbet/rbi/gems/method_source.rbi +63 -0
  140. data/spec/support/v5.0/sorbet/rbi/gems/mini_mime.rbi +45 -0
  141. data/spec/support/v5.0/sorbet/rbi/gems/minitest.rbi +276 -0
  142. data/spec/support/v5.0/sorbet/rbi/gems/nokogiri.rbi +1010 -0
  143. data/spec/support/v5.0/sorbet/rbi/gems/puma.rbi +570 -0
  144. data/spec/support/v5.0/sorbet/rbi/gems/rack-test.rbi +145 -0
  145. data/spec/support/v5.0/sorbet/rbi/gems/rack.rbi +534 -0
  146. data/spec/support/v5.0/sorbet/rbi/gems/rails-dom-testing.rbi +67 -0
  147. data/spec/support/v5.0/sorbet/rbi/gems/rails-html-sanitizer.rbi +90 -0
  148. data/spec/support/v5.0/sorbet/rbi/gems/railties.rbi +682 -0
  149. data/spec/support/v5.0/sorbet/rbi/gems/rake.rbi +255 -0
  150. data/spec/support/v5.0/sorbet/rbi/gems/sorbet-runtime.rbi +647 -0
  151. data/spec/support/v5.0/sorbet/rbi/gems/sqlite3.rbi +345 -0
  152. data/spec/support/v5.0/sorbet/rbi/gems/thor.rbi +401 -0
  153. data/spec/support/v5.0/sorbet/rbi/gems/thread_safe.rbi +81 -0
  154. data/spec/support/v5.0/sorbet/rbi/gems/tzinfo.rbi +407 -0
  155. data/spec/support/v5.0/sorbet/rbi/hidden-definitions/errors.txt +10523 -0
  156. data/spec/support/v5.0/sorbet/rbi/hidden-definitions/hidden.rbi +24969 -0
  157. data/spec/support/v5.0/sorbet/rbi/sorbet-typed/lib/actionmailer/all/actionmailer.rbi +13 -0
  158. data/spec/support/v5.0/sorbet/rbi/sorbet-typed/lib/actionpack/all/actionpack.rbi +13 -0
  159. data/spec/support/v5.0/sorbet/rbi/sorbet-typed/lib/activerecord/all/activerecord.rbi +51 -0
  160. data/spec/support/v5.0/sorbet/rbi/sorbet-typed/lib/activesupport/all/activesupport.rbi +107 -0
  161. data/spec/support/v5.0/sorbet/rbi/sorbet-typed/lib/bundler/all/bundler.rbi +8547 -0
  162. data/spec/support/v5.0/sorbet/rbi/sorbet-typed/lib/railties/all/railties.rbi +22 -0
  163. data/spec/support/v5.0/sorbet/rbi/sorbet-typed/lib/ruby/all/open3.rbi +111 -0
  164. data/spec/support/v5.0/sorbet/rbi/sorbet-typed/lib/ruby/all/resolv.rbi +543 -0
  165. data/spec/support/v5.0/sorbet/rbi/todo.rbi +10 -0
  166. data/spec/support/v5.0/sorbet_test_cases.rb +1 -0
  167. data/spec/support/v5.0/test/test_helper.rb +1 -0
  168. data/spec/support/v5.1/Gemfile +13 -0
  169. data/spec/support/v5.1/Gemfile.lock +15 -20
  170. data/spec/support/v5.1/app/channels/application_cable/channel.rb +1 -0
  171. data/spec/support/v5.1/app/channels/application_cable/connection.rb +1 -0
  172. data/spec/support/v5.1/app/jobs/application_job.rb +1 -0
  173. data/spec/support/v5.1/app/mailers/application_mailer.rb +1 -0
  174. data/spec/support/v5.1/bin/rails +0 -5
  175. data/spec/support/v5.1/bin/rake +0 -5
  176. data/spec/support/v5.1/config/application.rb +1 -0
  177. data/spec/support/v5.1/config/boot.rb +1 -0
  178. data/spec/support/v5.1/config/environment.rb +1 -0
  179. data/spec/support/v5.1/config/environments/development.rb +2 -1
  180. data/spec/support/v5.1/config/environments/production.rb +1 -0
  181. data/spec/support/v5.1/config/environments/test.rb +1 -0
  182. data/spec/support/v5.1/config/initializers/application_controller_renderer.rb +1 -0
  183. data/spec/support/v5.1/config/initializers/backtrace_silencers.rb +1 -0
  184. data/spec/support/v5.1/config/initializers/cors.rb +1 -0
  185. data/spec/support/v5.1/config/initializers/filter_parameter_logging.rb +1 -0
  186. data/spec/support/v5.1/config/initializers/inflections.rb +1 -0
  187. data/spec/support/v5.1/config/initializers/mime_types.rb +1 -0
  188. data/spec/support/v5.1/config/initializers/wrap_parameters.rb +1 -0
  189. data/spec/support/v5.1/config/puma.rb +1 -0
  190. data/spec/support/v5.1/config/spring.rb +1 -0
  191. data/spec/support/v5.1/db/schema.rb +1 -0
  192. data/spec/support/v5.1/db/seeds.rb +1 -0
  193. data/spec/support/v5.1/sorbet/config +2 -0
  194. data/spec/support/v5.1/sorbet/rbi/gems/actioncable.rbi +309 -0
  195. data/spec/support/v5.1/sorbet/rbi/gems/actionmailer.rbi +429 -0
  196. data/spec/support/v5.1/sorbet/rbi/gems/actionpack.rbi +3171 -0
  197. data/spec/support/v5.1/sorbet/rbi/gems/actionview.rbi +1115 -0
  198. data/spec/support/v5.1/sorbet/rbi/gems/activejob.rbi +273 -0
  199. data/spec/support/v5.1/sorbet/rbi/gems/activemodel.rbi +547 -0
  200. data/spec/support/v5.1/sorbet/rbi/gems/activerecord.rbi +4093 -0
  201. data/spec/support/v5.1/sorbet/rbi/gems/activesupport.rbi +2180 -0
  202. data/spec/support/v5.1/sorbet/rbi/gems/arel.rbi +1220 -0
  203. data/spec/support/v5.1/sorbet/rbi/gems/byebug.rbi +1039 -0
  204. data/spec/support/v5.1/sorbet/rbi/gems/concurrent-ruby.rbi +1587 -0
  205. data/spec/support/v5.1/sorbet/rbi/gems/crass.rbi +92 -0
  206. data/spec/support/v5.1/sorbet/rbi/gems/erubi.rbi +26 -0
  207. data/spec/support/v5.1/sorbet/rbi/gems/globalid.rbi +98 -0
  208. data/spec/support/v5.1/sorbet/rbi/gems/i18n.rbi +191 -0
  209. data/spec/support/v5.1/sorbet/rbi/gems/loofah.rbi +129 -0
  210. data/spec/support/v5.1/sorbet/rbi/gems/mail.rbi +1091 -0
  211. data/spec/support/v5.1/sorbet/rbi/gems/method_source.rbi +63 -0
  212. data/spec/support/v5.1/sorbet/rbi/gems/mini_mime.rbi +45 -0
  213. data/spec/support/v5.1/sorbet/rbi/gems/minitest.rbi +276 -0
  214. data/spec/support/v5.1/sorbet/rbi/gems/nokogiri.rbi +1010 -0
  215. data/spec/support/v5.1/sorbet/rbi/gems/puma.rbi +570 -0
  216. data/spec/support/v5.1/sorbet/rbi/gems/rack-test.rbi +161 -0
  217. data/spec/support/v5.1/sorbet/rbi/gems/rack.rbi +534 -0
  218. data/spec/support/v5.1/sorbet/rbi/gems/rails-dom-testing.rbi +67 -0
  219. data/spec/support/v5.1/sorbet/rbi/gems/rails-html-sanitizer.rbi +90 -0
  220. data/spec/support/v5.1/sorbet/rbi/gems/railties.rbi +707 -0
  221. data/spec/support/v5.1/sorbet/rbi/gems/rake.rbi +255 -0
  222. data/spec/support/v5.1/sorbet/rbi/gems/sorbet-runtime.rbi +647 -0
  223. data/spec/support/v5.1/sorbet/rbi/gems/sqlite3.rbi +345 -0
  224. data/spec/support/v5.1/sorbet/rbi/gems/thor.rbi +450 -0
  225. data/spec/support/v5.1/sorbet/rbi/gems/thread_safe.rbi +81 -0
  226. data/spec/support/v5.1/sorbet/rbi/gems/tzinfo.rbi +407 -0
  227. data/spec/support/v5.1/sorbet/rbi/hidden-definitions/errors.txt +10226 -0
  228. data/spec/support/v5.1/sorbet/rbi/hidden-definitions/hidden.rbi +24635 -0
  229. data/spec/support/v5.1/sorbet/rbi/sorbet-typed/lib/actionmailer/all/actionmailer.rbi +13 -0
  230. data/spec/support/v5.1/sorbet/rbi/sorbet-typed/lib/actionpack/all/actionpack.rbi +13 -0
  231. data/spec/support/v5.1/sorbet/rbi/sorbet-typed/lib/activerecord/all/activerecord.rbi +51 -0
  232. data/spec/support/v5.1/sorbet/rbi/sorbet-typed/lib/activesupport/all/activesupport.rbi +107 -0
  233. data/spec/support/v5.1/sorbet/rbi/sorbet-typed/lib/bundler/all/bundler.rbi +8547 -0
  234. data/spec/support/v5.1/sorbet/rbi/sorbet-typed/lib/railties/all/railties.rbi +22 -0
  235. data/spec/support/v5.1/sorbet/rbi/sorbet-typed/lib/ruby/all/open3.rbi +111 -0
  236. data/spec/support/v5.1/sorbet/rbi/sorbet-typed/lib/ruby/all/resolv.rbi +543 -0
  237. data/spec/support/v5.1/sorbet/rbi/todo.rbi +11 -0
  238. data/spec/support/v5.1/sorbet_test_cases.rb +1 -0
  239. data/spec/support/v5.1/test/test_helper.rb +1 -0
  240. data/spec/support/v5.2/Gemfile +12 -0
  241. data/spec/support/v5.2/Gemfile.lock +12 -0
  242. data/spec/support/v5.2/app/channels/application_cable/channel.rb +1 -0
  243. data/spec/support/v5.2/app/channels/application_cable/connection.rb +1 -0
  244. data/spec/support/v5.2/app/jobs/application_job.rb +1 -0
  245. data/spec/support/v5.2/app/mailers/application_mailer.rb +1 -0
  246. data/spec/support/v5.2/bin/rails +0 -5
  247. data/spec/support/v5.2/bin/rake +0 -5
  248. data/spec/support/v5.2/config/application.rb +1 -0
  249. data/spec/support/v5.2/config/boot.rb +1 -0
  250. data/spec/support/v5.2/config/environment.rb +1 -0
  251. data/spec/support/v5.2/config/environments/development.rb +1 -0
  252. data/spec/support/v5.2/config/environments/production.rb +1 -0
  253. data/spec/support/v5.2/config/environments/test.rb +1 -0
  254. data/spec/support/v5.2/config/initializers/application_controller_renderer.rb +1 -0
  255. data/spec/support/v5.2/config/initializers/backtrace_silencers.rb +1 -0
  256. data/spec/support/v5.2/config/initializers/cors.rb +1 -0
  257. data/spec/support/v5.2/config/initializers/filter_parameter_logging.rb +1 -0
  258. data/spec/support/v5.2/config/initializers/inflections.rb +1 -0
  259. data/spec/support/v5.2/config/initializers/mime_types.rb +1 -0
  260. data/spec/support/v5.2/config/initializers/wrap_parameters.rb +1 -0
  261. data/spec/support/v5.2/config/puma.rb +1 -0
  262. data/spec/support/v5.2/config/spring.rb +1 -0
  263. data/spec/support/v5.2/db/schema.rb +1 -0
  264. data/spec/support/v5.2/db/seeds.rb +1 -0
  265. data/spec/support/v5.2/sorbet/rbi/gems/sorbet-runtime.rbi +644 -0
  266. data/spec/support/v5.2/sorbet/rbi/hidden-definitions/errors.txt +12 -6
  267. data/spec/support/v5.2/sorbet/rbi/hidden-definitions/hidden.rbi +57 -19
  268. data/spec/support/v5.2/sorbet_test_cases.rb +1 -0
  269. data/spec/support/v5.2/test/test_helper.rb +1 -0
  270. data/spec/support/v5.2-no-sorbet/Gemfile +57 -0
  271. data/spec/support/v5.2-no-sorbet/Gemfile.lock +140 -0
  272. data/spec/support/v5.2-no-sorbet/README.md +24 -0
  273. data/spec/support/v5.2-no-sorbet/Rakefile +6 -0
  274. data/spec/support/v5.2-no-sorbet/app/channels/application_cable/channel.rb +5 -0
  275. data/spec/support/v5.2-no-sorbet/app/channels/application_cable/connection.rb +5 -0
  276. data/spec/support/v5.2-no-sorbet/app/controllers +1 -0
  277. data/spec/support/v5.2-no-sorbet/app/jobs/application_job.rb +3 -0
  278. data/spec/support/v5.2-no-sorbet/app/mailers/application_mailer.rb +5 -0
  279. data/spec/support/v5.2-no-sorbet/app/models +1 -0
  280. data/spec/support/v5.2-no-sorbet/app/views/layouts/mailer.html.erb +13 -0
  281. data/spec/support/v5.2-no-sorbet/app/views/layouts/mailer.text.erb +1 -0
  282. data/spec/support/v5.2-no-sorbet/bin/bundle +3 -0
  283. data/spec/support/v5.2-no-sorbet/bin/rails +4 -0
  284. data/spec/support/v5.2-no-sorbet/bin/rake +4 -0
  285. data/spec/support/v5.2-no-sorbet/bin/setup +33 -0
  286. data/spec/support/v5.2-no-sorbet/bin/spring +17 -0
  287. data/spec/support/v5.2-no-sorbet/bin/update +28 -0
  288. data/spec/support/v5.2-no-sorbet/config/application.rb +36 -0
  289. data/spec/support/v5.2-no-sorbet/config/boot.rb +4 -0
  290. data/spec/support/v5.2-no-sorbet/config/cable.yml +10 -0
  291. data/spec/support/v5.2-no-sorbet/config/credentials.yml.enc +1 -0
  292. data/spec/support/v5.2-no-sorbet/config/database.yml +25 -0
  293. data/spec/support/v5.2-no-sorbet/config/environment.rb +6 -0
  294. data/spec/support/v5.2-no-sorbet/config/environments/development.rb +55 -0
  295. data/spec/support/v5.2-no-sorbet/config/environments/production.rb +86 -0
  296. data/spec/support/v5.2-no-sorbet/config/environments/test.rb +47 -0
  297. data/spec/support/v5.2-no-sorbet/config/initializers/application_controller_renderer.rb +9 -0
  298. data/spec/support/v5.2-no-sorbet/config/initializers/backtrace_silencers.rb +8 -0
  299. data/spec/support/v5.2-no-sorbet/config/initializers/cors.rb +17 -0
  300. data/spec/support/v5.2-no-sorbet/config/initializers/filter_parameter_logging.rb +5 -0
  301. data/spec/support/v5.2-no-sorbet/config/initializers/inflections.rb +17 -0
  302. data/spec/support/v5.2-no-sorbet/config/initializers/mime_types.rb +5 -0
  303. data/spec/support/v5.2-no-sorbet/config/initializers/wrap_parameters.rb +15 -0
  304. data/spec/support/v5.2-no-sorbet/config/locales/en.yml +33 -0
  305. data/spec/support/v5.2-no-sorbet/config/puma.rb +35 -0
  306. data/spec/support/v5.2-no-sorbet/config/routes.rb +1 -0
  307. data/spec/support/v5.2-no-sorbet/config/spring.rb +7 -0
  308. data/spec/support/v5.2-no-sorbet/config/storage.yml +34 -0
  309. data/spec/support/v5.2-no-sorbet/config.ru +5 -0
  310. data/spec/support/v5.2-no-sorbet/db/migrate +1 -0
  311. data/spec/support/v5.2-no-sorbet/db/schema.rb +48 -0
  312. data/spec/support/v5.2-no-sorbet/db/seeds.rb +8 -0
  313. data/spec/support/v5.2-no-sorbet/lib/tasks/.keep +0 -0
  314. data/spec/support/v5.2-no-sorbet/log/.keep +0 -0
  315. data/spec/support/v5.2-no-sorbet/public/robots.txt +1 -0
  316. data/spec/support/v5.2-no-sorbet/storage/.keep +0 -0
  317. data/spec/support/v5.2-no-sorbet/test/controllers/.keep +0 -0
  318. data/spec/support/v5.2-no-sorbet/test/fixtures/.keep +0 -0
  319. data/spec/support/v5.2-no-sorbet/test/fixtures/files/.keep +0 -0
  320. data/spec/support/v5.2-no-sorbet/test/integration/.keep +0 -0
  321. data/spec/support/v5.2-no-sorbet/test/mailers/.keep +0 -0
  322. data/spec/support/v5.2-no-sorbet/test/models/.keep +0 -0
  323. data/spec/support/v5.2-no-sorbet/test/test_helper.rb +11 -0
  324. data/spec/support/v5.2-no-sorbet/tmp/.keep +0 -0
  325. data/spec/support/v5.2-no-sorbet/vendor/.keep +0 -0
  326. data/spec/support/v6.0/Gemfile +12 -0
  327. data/spec/support/v6.0/Gemfile.lock +157 -0
  328. data/spec/support/v6.0/app/channels/application_cable/channel.rb +1 -0
  329. data/spec/support/v6.0/app/channels/application_cable/connection.rb +1 -0
  330. data/spec/support/v6.0/app/jobs/application_job.rb +1 -0
  331. data/spec/support/v6.0/app/mailers/application_mailer.rb +1 -0
  332. data/spec/support/v6.0/config/application.rb +1 -0
  333. data/spec/support/v6.0/config/boot.rb +1 -0
  334. data/spec/support/v6.0/config/environment.rb +1 -0
  335. data/spec/support/v6.0/config/environments/development.rb +1 -0
  336. data/spec/support/v6.0/config/environments/production.rb +1 -0
  337. data/spec/support/v6.0/config/environments/test.rb +1 -0
  338. data/spec/support/v6.0/config/initializers/application_controller_renderer.rb +1 -0
  339. data/spec/support/v6.0/config/initializers/backtrace_silencers.rb +1 -0
  340. data/spec/support/v6.0/config/initializers/cors.rb +1 -0
  341. data/spec/support/v6.0/config/initializers/filter_parameter_logging.rb +1 -0
  342. data/spec/support/v6.0/config/initializers/inflections.rb +1 -0
  343. data/spec/support/v6.0/config/initializers/mime_types.rb +1 -0
  344. data/spec/support/v6.0/config/initializers/wrap_parameters.rb +1 -0
  345. data/spec/support/v6.0/config/puma.rb +1 -0
  346. data/spec/support/v6.0/config/routes.rb +1 -0
  347. data/spec/support/v6.0/db/schema.rb +1 -0
  348. data/spec/support/v6.0/db/seeds.rb +1 -0
  349. data/spec/support/v6.0/sorbet/config +2 -0
  350. data/spec/support/v6.0/sorbet/rbi/gems/actioncable.rbi +245 -0
  351. data/spec/support/v6.0/sorbet/rbi/gems/actionmailbox.rbi +56 -0
  352. data/spec/support/v6.0/sorbet/rbi/gems/actionmailer.rbi +69 -0
  353. data/spec/support/v6.0/sorbet/rbi/gems/actionpack.rbi +2401 -0
  354. data/spec/support/v6.0/sorbet/rbi/gems/actiontext.rbi +32 -0
  355. data/spec/support/v6.0/sorbet/rbi/gems/actionview.rbi +1033 -0
  356. data/spec/support/v6.0/sorbet/rbi/gems/activejob.rbi +362 -0
  357. data/spec/support/v6.0/sorbet/rbi/gems/activemodel.rbi +750 -0
  358. data/spec/support/v6.0/sorbet/rbi/gems/activerecord.rbi +5552 -0
  359. data/spec/support/v6.0/sorbet/rbi/gems/activestorage.rbi +217 -0
  360. data/spec/support/v6.0/sorbet/rbi/gems/activesupport.rbi +2430 -0
  361. data/spec/support/v6.0/sorbet/rbi/gems/byebug.rbi +1039 -0
  362. data/spec/support/v6.0/sorbet/rbi/gems/concurrent-ruby.rbi +1587 -0
  363. data/spec/support/v6.0/sorbet/rbi/gems/crass.rbi +92 -0
  364. data/spec/support/v6.0/sorbet/rbi/gems/erubi.rbi +26 -0
  365. data/spec/support/v6.0/sorbet/rbi/gems/globalid.rbi +98 -0
  366. data/spec/support/v6.0/sorbet/rbi/gems/i18n.rbi +191 -0
  367. data/spec/support/v6.0/sorbet/rbi/gems/loofah.rbi +129 -0
  368. data/spec/support/v6.0/sorbet/rbi/gems/mail.rbi +1542 -0
  369. data/spec/support/v6.0/sorbet/rbi/gems/marcel.rbi +12 -0
  370. data/spec/support/v6.0/sorbet/rbi/gems/method_source.rbi +63 -0
  371. data/spec/support/v6.0/sorbet/rbi/gems/mini_mime.rbi +45 -0
  372. data/spec/support/v6.0/sorbet/rbi/gems/minitest.rbi +276 -0
  373. data/spec/support/v6.0/sorbet/rbi/gems/nokogiri.rbi +1010 -0
  374. data/spec/support/v6.0/sorbet/rbi/gems/puma.rbi +570 -0
  375. data/spec/support/v6.0/sorbet/rbi/gems/rack-test.rbi +161 -0
  376. data/spec/support/v6.0/sorbet/rbi/gems/rack.rbi +522 -0
  377. data/spec/support/v6.0/sorbet/rbi/gems/rails-dom-testing.rbi +67 -0
  378. data/spec/support/v6.0/sorbet/rbi/gems/rails-html-sanitizer.rbi +90 -0
  379. data/spec/support/v6.0/sorbet/rbi/gems/railties.rbi +760 -0
  380. data/spec/support/v6.0/sorbet/rbi/gems/rake.rbi +254 -0
  381. data/spec/support/v6.0/sorbet/rbi/gems/sorbet-runtime.rbi +647 -0
  382. data/spec/support/v6.0/sorbet/rbi/gems/sqlite3.rbi +353 -0
  383. data/spec/support/v6.0/sorbet/rbi/gems/thor.rbi +450 -0
  384. data/spec/support/v6.0/sorbet/rbi/gems/thread_safe.rbi +81 -0
  385. data/spec/support/v6.0/sorbet/rbi/gems/tzinfo.rbi +407 -0
  386. data/spec/support/v6.0/sorbet/rbi/gems/zeitwerk.rbi +119 -0
  387. data/spec/support/v6.0/sorbet/rbi/hidden-definitions/errors.txt +12074 -0
  388. data/spec/support/v6.0/sorbet/rbi/hidden-definitions/hidden.rbi +28231 -0
  389. data/spec/support/v6.0/sorbet/rbi/sorbet-typed/lib/actionmailer/all/actionmailer.rbi +13 -0
  390. data/spec/support/v6.0/sorbet/rbi/sorbet-typed/lib/actionpack/all/actionpack.rbi +13 -0
  391. data/spec/support/v6.0/sorbet/rbi/sorbet-typed/lib/activerecord/all/activerecord.rbi +51 -0
  392. data/spec/support/v6.0/sorbet/rbi/sorbet-typed/lib/activesupport/all/activesupport.rbi +107 -0
  393. data/spec/support/v6.0/sorbet/rbi/sorbet-typed/lib/bundler/all/bundler.rbi +8547 -0
  394. data/spec/support/v6.0/sorbet/rbi/sorbet-typed/lib/railties/all/railties.rbi +22 -0
  395. data/spec/support/v6.0/sorbet/rbi/sorbet-typed/lib/ruby/all/open3.rbi +111 -0
  396. data/spec/support/v6.0/sorbet/rbi/sorbet-typed/lib/ruby/all/resolv.rbi +543 -0
  397. data/spec/support/v6.0/sorbet/rbi/todo.rbi +11 -0
  398. data/spec/support/v6.0/sorbet_test_cases.rb +1 -0
  399. data/spec/support/v6.0/test/channels/application_cable/connection_test.rb +1 -0
  400. data/spec/support/v6.0/test/test_helper.rb +1 -0
  401. data/spec/test_data/v4.2/expected_srb_tc_output.txt +178 -0
  402. data/spec/test_data/v5.0/expected_internal_metadata.rbi +155 -0
  403. data/spec/test_data/v5.0/expected_schema_migration.rbi +128 -0
  404. data/spec/test_data/v5.0/expected_srb_tc_output.txt +178 -0
  405. data/spec/test_data/v5.1/expected_internal_metadata.rbi +161 -0
  406. data/spec/test_data/v5.1/expected_schema_migration.rbi +134 -0
  407. data/spec/test_data/v5.1/expected_srb_tc_output.txt +160 -0
  408. data/spec/test_data/v5.2/expected_attachment.rbi +137 -0
  409. data/spec/test_data/v5.2/expected_blob.rbi +149 -0
  410. data/spec/test_data/v5.2/expected_internal_metadata.rbi +161 -0
  411. data/spec/test_data/v5.2/expected_schema_migration.rbi +134 -0
  412. data/spec/test_data/v5.2/expected_srb_tc_output.txt +160 -0
  413. data/spec/test_data/v5.2-no-sorbet/expected_attachment.rbi +137 -0
  414. data/spec/test_data/v5.2-no-sorbet/expected_blob.rbi +149 -0
  415. data/spec/test_data/v5.2-no-sorbet/expected_internal_metadata.rbi +161 -0
  416. data/spec/test_data/v5.2-no-sorbet/expected_no_routes.rbi +11 -0
  417. data/spec/test_data/v5.2-no-sorbet/expected_potion.rbi +128 -0
  418. data/spec/test_data/v5.2-no-sorbet/expected_routes.rbi +43 -0
  419. data/spec/test_data/v5.2-no-sorbet/expected_schema_migration.rbi +134 -0
  420. data/spec/test_data/v5.2-no-sorbet/expected_spell_book.rbi +161 -0
  421. data/spec/test_data/v5.2-no-sorbet/expected_srb_tc_output.txt +160 -0
  422. data/spec/test_data/v5.2-no-sorbet/expected_wand.rbi +311 -0
  423. data/spec/test_data/v5.2-no-sorbet/expected_wizard.rbi +254 -0
  424. data/spec/test_data/v5.2-no-sorbet/expected_wizard_wo_spellbook.rbi +254 -0
  425. data/spec/test_data/v6.0/expected_attachment.rbi +149 -0
  426. data/spec/test_data/v6.0/expected_blob.rbi +161 -0
  427. data/spec/test_data/v6.0/expected_internal_metadata.rbi +173 -0
  428. data/spec/test_data/v6.0/expected_schema_migration.rbi +146 -0
  429. data/spec/test_data/v6.0/expected_srb_tc_output.txt +160 -0
  430. data/spec/utils_spec.rb +24 -0
  431. metadata +573 -2
@@ -3168,6 +3168,10 @@ module ActiveRecord::Base::GeneratedAssociationMethods
3168
3168
  extend ::T::Sig
3169
3169
  end
3170
3170
 
3171
+ class ActiveRecord::Base
3172
+ extend ::SorbetRails::CustomFinderMethods
3173
+ end
3174
+
3171
3175
  module ActiveRecord::Batches
3172
3176
  ORDER_IGNORE_MESSAGE = ::T.let(nil, ::T.untyped)
3173
3177
  end
@@ -3785,6 +3789,7 @@ class ActiveRecord::Relation
3785
3789
  include ::ActiveModel::ForbiddenAttributesProtection
3786
3790
  include ::ActiveRecord::SpawnMethods
3787
3791
  include ::ActiveRecord::Calculations
3792
+ include ::SorbetRails::CustomFinderMethods
3788
3793
  CLAUSE_METHODS = ::T.let(nil, ::T.untyped)
3789
3794
  INVALID_METHODS_FOR_DELETE_ALL = ::T.let(nil, ::T.untyped)
3790
3795
  MULTI_VALUE_METHODS = ::T.let(nil, ::T.untyped)
@@ -5978,7 +5983,7 @@ class Bundler::Settings::Mirror
5978
5983
  end
5979
5984
 
5980
5985
  class Bundler::Settings::Mirrors
5981
- def each(); end
5986
+ def each(&blk); end
5982
5987
 
5983
5988
  def for(uri); end
5984
5989
 
@@ -6995,8 +7000,6 @@ module Enumerable
6995
7000
 
6996
7001
  def each_entry(*_); end
6997
7002
 
6998
- def each_with_object(_); end
6999
-
7000
7003
  def grep_v(_); end
7001
7004
 
7002
7005
  def lazy(); end
@@ -7022,11 +7025,13 @@ end
7022
7025
 
7023
7026
  class Enumerator
7024
7027
  include ::ActiveSupport::ToJsonWithActiveSupportEncoder
7028
+ def each_with_index(); end
7029
+
7025
7030
  end
7026
7031
 
7027
7032
  class Enumerator::Generator
7028
7033
  include ::ActiveSupport::ToJsonWithActiveSupportEncoder
7029
- def each(*_); end
7034
+ def each(*_, &blk); end
7030
7035
 
7031
7036
  def initialize(*_); end
7032
7037
  end
@@ -7660,7 +7665,7 @@ class Etc::Group
7660
7665
  extend ::Enumerable
7661
7666
  def self.[](*_); end
7662
7667
 
7663
- def self.each(); end
7668
+ def self.each(&blk); end
7664
7669
 
7665
7670
  def self.members(); end
7666
7671
  end
@@ -7700,7 +7705,7 @@ class Etc::Passwd
7700
7705
  extend ::Enumerable
7701
7706
  def self.[](*_); end
7702
7707
 
7703
- def self.each(); end
7708
+ def self.each(&blk); end
7704
7709
 
7705
7710
  def self.members(); end
7706
7711
  end
@@ -8199,7 +8204,7 @@ class Gem::AvailableSet
8199
8204
 
8200
8205
  def all_specs(); end
8201
8206
 
8202
- def each(); end
8207
+ def each(&blk); end
8203
8208
 
8204
8209
  def each_spec(); end
8205
8210
 
@@ -9031,7 +9036,7 @@ end
9031
9036
 
9032
9037
  class Gem::List
9033
9038
  include ::ActiveSupport::ToJsonWithActiveSupportEncoder
9034
- def each(); end
9039
+ def each(&blk); end
9035
9040
 
9036
9041
  def initialize(value=T.unsafe(nil), tail=T.unsafe(nil)); end
9037
9042
 
@@ -9336,7 +9341,7 @@ class Gem::Package::TarReader
9336
9341
  include ::Enumerable
9337
9342
  def close(); end
9338
9343
 
9339
- def each(); end
9344
+ def each(&blk); end
9340
9345
 
9341
9346
  def each_entry(); end
9342
9347
 
@@ -10358,7 +10363,7 @@ class Gem::Resolver::Molinillo::DependencyGraph
10358
10363
 
10359
10364
  def detach_vertex_named(name); end
10360
10365
 
10361
- def each(); end
10366
+ def each(&blk); end
10362
10367
 
10363
10368
  def log(); end
10364
10369
 
@@ -10478,7 +10483,7 @@ class Gem::Resolver::Molinillo::DependencyGraph::Log
10478
10483
 
10479
10484
  def detach_vertex_named(graph, name); end
10480
10485
 
10481
- def each(); end
10486
+ def each(&blk); end
10482
10487
 
10483
10488
  def pop!(graph); end
10484
10489
 
@@ -10783,7 +10788,7 @@ class Gem::Resolver::RequirementList
10783
10788
  include ::Enumerable
10784
10789
  def add(req); end
10785
10790
 
10786
- def each(); end
10791
+ def each(&blk); end
10787
10792
 
10788
10793
  def empty?(); end
10789
10794
 
@@ -11231,7 +11236,7 @@ class Gem::SourceList
11231
11236
 
11232
11237
  def delete(source); end
11233
11238
 
11234
- def each(); end
11239
+ def each(&blk); end
11235
11240
 
11236
11241
  def each_source(&b); end
11237
11242
 
@@ -11648,7 +11653,7 @@ class Gem::Specification
11648
11653
 
11649
11654
  def self.dirs=(dirs); end
11650
11655
 
11651
- def self.each(); end
11656
+ def self.each(&blk); end
11652
11657
 
11653
11658
  def self.each_gemspec(dirs); end
11654
11659
 
@@ -15301,6 +15306,8 @@ module MethodSource
15301
15306
  extend ::T::Sig
15302
15307
  end
15303
15308
 
15309
+ Methods = T::Private::Methods
15310
+
15304
15311
  module Mime
15305
15312
  ALL = ::T.let(nil, ::T.untyped)
15306
15313
  EXTENSION_LOOKUP = ::T.let(nil, ::T.untyped)
@@ -15691,6 +15698,8 @@ class Net::HTTPIMUsed
15691
15698
  extend ::T::Sig
15692
15699
  end
15693
15700
 
15701
+ Net::HTTPInformation::EXCEPTION_TYPE = Net::HTTPError
15702
+
15694
15703
  class Net::HTTPInformation
15695
15704
  extend ::T::Sig
15696
15705
  end
@@ -15873,6 +15882,8 @@ end
15873
15882
 
15874
15883
  Net::HTTPSession = Net::HTTP
15875
15884
 
15885
+ Net::HTTPSuccess::EXCEPTION_TYPE = Net::HTTPError
15886
+
15876
15887
  class Net::HTTPSuccess
15877
15888
  extend ::T::Sig
15878
15889
  end
@@ -16847,7 +16858,7 @@ class ObjectSpace::WeakMap
16847
16858
 
16848
16859
  def []=(_, _1); end
16849
16860
 
16850
- def each(); end
16861
+ def each(&blk); end
16851
16862
 
16852
16863
  def each_key(); end
16853
16864
 
@@ -19564,7 +19575,7 @@ end
19564
19575
 
19565
19576
  class Rack::Multipart::Parser::Collector
19566
19577
  include ::Enumerable
19567
- def each(); end
19578
+ def each(&blk); end
19568
19579
 
19569
19580
  def initialize(tempfile); end
19570
19581
 
@@ -22266,11 +22277,13 @@ module Sorbet::Private::Main
22266
22277
 
22267
22278
  def self.emojify(emoji, msg); end
22268
22279
 
22280
+ def self.init(); end
22281
+
22269
22282
  def self.main(argv); end
22270
22283
 
22271
22284
  def self.make_step(step); end
22272
22285
 
22273
- def self.parse_command(argv); end
22286
+ def self.usage(); end
22274
22287
 
22275
22288
  def self.yellow(msg); end
22276
22289
  end
@@ -22419,6 +22432,31 @@ class Sorbet
22419
22432
  extend ::T::Sig
22420
22433
  end
22421
22434
 
22435
+ module SorbetRails
22436
+ end
22437
+
22438
+ module SorbetRails::CustomFinderMethods
22439
+ def find_n(*ids); end
22440
+
22441
+ def first_n(n); end
22442
+
22443
+ def last_n(n); end
22444
+ end
22445
+
22446
+ module SorbetRails::CustomFinderMethods
22447
+ extend ::T::Sig
22448
+ end
22449
+
22450
+ class SorbetRails::Railtie
22451
+ end
22452
+
22453
+ class SorbetRails::Railtie
22454
+ end
22455
+
22456
+ module SorbetRails
22457
+ extend ::T::Sig
22458
+ end
22459
+
22422
22460
  class SortedSet
22423
22461
  def initialize(*args, &block); end
22424
22462
  end
@@ -23467,7 +23505,7 @@ class ThreadSafe::Util::VolatileTuple
23467
23505
 
23468
23506
  def compare_and_set(i, old_value, new_value); end
23469
23507
 
23470
- def each(); end
23508
+ def each(&blk); end
23471
23509
 
23472
23510
  def initialize(size); end
23473
23511
 
@@ -24200,7 +24238,7 @@ class Zlib::GzipReader
24200
24238
  include ::Enumerable
24201
24239
  def bytes(); end
24202
24240
 
24203
- def each(*_); end
24241
+ def each(*_, &blk); end
24204
24242
 
24205
24243
  def each_byte(); end
24206
24244
 
@@ -0,0 +1 @@
1
+ spec/support/v5.2/../rails_shared/sorbet_test_cases.rb
@@ -1,3 +1,4 @@
1
+ # typed: strict
1
2
  ENV['RAILS_ENV'] ||= 'test'
2
3
  require_relative '../config/environment'
3
4
  require 'rails/test_help'
@@ -0,0 +1,57 @@
1
+ source 'https://rubygems.org'
2
+ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
3
+
4
+ ruby '2.4.3'
5
+
6
+ gem 'rails', '~> 5.2.3'
7
+
8
+ # Use sqlite3 as the database for Active Record
9
+ gem 'sqlite3', '~> 1.4.1'
10
+ # Use Puma as the app server
11
+ gem 'puma', '~> 3.11'
12
+ # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
13
+ # gem 'jbuilder', '~> 2.5'
14
+ # Use Redis adapter to run Action Cable in production
15
+ # gem 'redis', '~> 4.0'
16
+ # Use ActiveModel has_secure_password
17
+ # gem 'bcrypt', '~> 3.1.7'
18
+
19
+ # Use ActiveStorage variant
20
+ # gem 'mini_magick', '~> 4.8'
21
+
22
+ # Use Capistrano for deployment
23
+ # gem 'capistrano-rails', group: :development
24
+
25
+ # Reduces boot times through caching; required in config/boot.rb
26
+ # gem 'bootsnap', '>= 1.1.0', require: false
27
+
28
+ # Use Rack CORS for handling Cross-Origin Resource Sharing (CORS), making cross-origin AJAX possible
29
+ # gem 'rack-cors'
30
+
31
+ group :development, :test do
32
+ # Call 'byebug' anywhere in the code to stop execution and get a debugger console
33
+ gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
34
+ end
35
+
36
+ group :development do
37
+ # gem 'listen', '>= 3.0.5', '< 3.2'
38
+ # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
39
+ # gem 'spring'
40
+ # gem 'spring-watcher-listen', '~> 2.0.0'
41
+ end
42
+
43
+ gem 'sorbet-rails', path: '../../../.'
44
+
45
+ # Windows does not include zoneinfo files, so bundle the tzinfo-data gem
46
+ # gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
47
+
48
+ sorbet_version = ENV["SORBET_VERSION"]
49
+ if sorbet_version
50
+ # mostly used to test against a stable version of Sorbet in Travis.
51
+ gem 'sorbet', sorbet_version
52
+ gem 'sorbet-runtime', sorbet_version
53
+ else
54
+ # prefer to test against latest version because sorbet is updated frequently
55
+ gem 'sorbet'
56
+ gem 'sorbet-runtime'
57
+ end
@@ -0,0 +1,140 @@
1
+ PATH
2
+ remote: ../../..
3
+ specs:
4
+ sorbet-rails (0.3.0)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ actioncable (5.2.3)
10
+ actionpack (= 5.2.3)
11
+ nio4r (~> 2.0)
12
+ websocket-driver (>= 0.6.1)
13
+ actionmailer (5.2.3)
14
+ actionpack (= 5.2.3)
15
+ actionview (= 5.2.3)
16
+ activejob (= 5.2.3)
17
+ mail (~> 2.5, >= 2.5.4)
18
+ rails-dom-testing (~> 2.0)
19
+ actionpack (5.2.3)
20
+ actionview (= 5.2.3)
21
+ activesupport (= 5.2.3)
22
+ rack (~> 2.0)
23
+ rack-test (>= 0.6.3)
24
+ rails-dom-testing (~> 2.0)
25
+ rails-html-sanitizer (~> 1.0, >= 1.0.2)
26
+ actionview (5.2.3)
27
+ activesupport (= 5.2.3)
28
+ builder (~> 3.1)
29
+ erubi (~> 1.4)
30
+ rails-dom-testing (~> 2.0)
31
+ rails-html-sanitizer (~> 1.0, >= 1.0.3)
32
+ activejob (5.2.3)
33
+ activesupport (= 5.2.3)
34
+ globalid (>= 0.3.6)
35
+ activemodel (5.2.3)
36
+ activesupport (= 5.2.3)
37
+ activerecord (5.2.3)
38
+ activemodel (= 5.2.3)
39
+ activesupport (= 5.2.3)
40
+ arel (>= 9.0)
41
+ activestorage (5.2.3)
42
+ actionpack (= 5.2.3)
43
+ activerecord (= 5.2.3)
44
+ marcel (~> 0.3.1)
45
+ activesupport (5.2.3)
46
+ concurrent-ruby (~> 1.0, >= 1.0.2)
47
+ i18n (>= 0.7, < 2)
48
+ minitest (~> 5.1)
49
+ tzinfo (~> 1.1)
50
+ arel (9.0.0)
51
+ builder (3.2.3)
52
+ byebug (11.0.1)
53
+ concurrent-ruby (1.1.5)
54
+ crass (1.0.4)
55
+ erubi (1.8.0)
56
+ globalid (0.4.2)
57
+ activesupport (>= 4.2.0)
58
+ i18n (1.6.0)
59
+ concurrent-ruby (~> 1.0)
60
+ loofah (2.2.3)
61
+ crass (~> 1.0.2)
62
+ nokogiri (>= 1.5.9)
63
+ mail (2.7.1)
64
+ mini_mime (>= 0.1.1)
65
+ marcel (0.3.3)
66
+ mimemagic (~> 0.3.2)
67
+ method_source (0.9.2)
68
+ mimemagic (0.3.3)
69
+ mini_mime (1.0.1)
70
+ mini_portile2 (2.4.0)
71
+ minitest (5.11.3)
72
+ nio4r (2.3.1)
73
+ nokogiri (1.10.3)
74
+ mini_portile2 (~> 2.4.0)
75
+ puma (3.12.1)
76
+ rack (2.0.7)
77
+ rack-test (1.1.0)
78
+ rack (>= 1.0, < 3)
79
+ rails (5.2.3)
80
+ actioncable (= 5.2.3)
81
+ actionmailer (= 5.2.3)
82
+ actionpack (= 5.2.3)
83
+ actionview (= 5.2.3)
84
+ activejob (= 5.2.3)
85
+ activemodel (= 5.2.3)
86
+ activerecord (= 5.2.3)
87
+ activestorage (= 5.2.3)
88
+ activesupport (= 5.2.3)
89
+ bundler (>= 1.3.0)
90
+ railties (= 5.2.3)
91
+ sprockets-rails (>= 2.0.0)
92
+ rails-dom-testing (2.0.3)
93
+ activesupport (>= 4.2.0)
94
+ nokogiri (>= 1.6)
95
+ rails-html-sanitizer (1.0.4)
96
+ loofah (~> 2.2, >= 2.2.2)
97
+ railties (5.2.3)
98
+ actionpack (= 5.2.3)
99
+ activesupport (= 5.2.3)
100
+ method_source
101
+ rake (>= 0.8.7)
102
+ thor (>= 0.19.0, < 2.0)
103
+ rake (12.3.2)
104
+ sorbet (0.4.4386)
105
+ sorbet-static (= 0.4.4386)
106
+ sorbet-runtime (0.4.4386)
107
+ sorbet-static (0.4.4386-universal-darwin-14)
108
+ sprockets (3.7.2)
109
+ concurrent-ruby (~> 1.0)
110
+ rack (> 1, < 3)
111
+ sprockets-rails (3.2.1)
112
+ actionpack (>= 4.0)
113
+ activesupport (>= 4.0)
114
+ sprockets (>= 3.0.0)
115
+ sqlite3 (1.4.1)
116
+ thor (0.20.3)
117
+ thread_safe (0.3.6)
118
+ tzinfo (1.2.5)
119
+ thread_safe (~> 0.1)
120
+ websocket-driver (0.7.1)
121
+ websocket-extensions (>= 0.1.0)
122
+ websocket-extensions (0.1.4)
123
+
124
+ PLATFORMS
125
+ ruby
126
+
127
+ DEPENDENCIES
128
+ byebug
129
+ puma (~> 3.11)
130
+ rails (~> 5.2.3)
131
+ sorbet
132
+ sorbet-rails!
133
+ sorbet-runtime
134
+ sqlite3 (~> 1.4.1)
135
+
136
+ RUBY VERSION
137
+ ruby 2.4.3p205
138
+
139
+ BUNDLED WITH
140
+ 2.0.1
@@ -0,0 +1,24 @@
1
+ # README
2
+
3
+ This README would normally document whatever steps are necessary to get the
4
+ application up and running.
5
+
6
+ Things you may want to cover:
7
+
8
+ * Ruby version
9
+
10
+ * System dependencies
11
+
12
+ * Configuration
13
+
14
+ * Database creation
15
+
16
+ * Database initialization
17
+
18
+ * How to run the test suite
19
+
20
+ * Services (job queues, cache servers, search engines, etc.)
21
+
22
+ * Deployment instructions
23
+
24
+ * ...
@@ -0,0 +1,6 @@
1
+ # Add your own tasks in files placed in lib/tasks ending in .rake,
2
+ # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
+
4
+ require_relative 'config/application'
5
+
6
+ Rails.application.load_tasks
@@ -0,0 +1,5 @@
1
+ # typed: strong
2
+ module ApplicationCable
3
+ class Channel < ActionCable::Channel::Base
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ # typed: strong
2
+ module ApplicationCable
3
+ class Connection < ActionCable::Connection::Base
4
+ end
5
+ end
@@ -0,0 +1 @@
1
+ spec/support/v5.2-no-sorbet/app/../../rails_shared/app/controllers
@@ -0,0 +1,3 @@
1
+ # typed: strong
2
+ class ApplicationJob < ActiveJob::Base
3
+ end
@@ -0,0 +1,5 @@
1
+ # typed: strict
2
+ class ApplicationMailer < ActionMailer::Base
3
+ default from: 'from@example.com'
4
+ layout 'mailer'
5
+ end
@@ -0,0 +1 @@
1
+ spec/support/v5.2-no-sorbet/app/../../rails_shared/app/models
@@ -0,0 +1,13 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5
+ <style>
6
+ /* Email styles need to be inline */
7
+ </style>
8
+ </head>
9
+
10
+ <body>
11
+ <%= yield %>
12
+ </body>
13
+ </html>
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
3
+ load Gem.bin_path('bundler', 'bundle')
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ APP_PATH = File.expand_path('../config/application', __dir__)
3
+ require_relative '../config/boot'
4
+ require 'rails/commands'
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ require_relative '../config/boot'
3
+ require 'rake'
4
+ Rake.application.run
@@ -0,0 +1,33 @@
1
+ #!/usr/bin/env ruby
2
+ require 'fileutils'
3
+ include FileUtils
4
+
5
+ # path to your application root.
6
+ APP_ROOT = File.expand_path('..', __dir__)
7
+
8
+ def system!(*args)
9
+ system(*args) || abort("\n== Command #{args} failed ==")
10
+ end
11
+
12
+ chdir APP_ROOT do
13
+ # This script is a starting point to setup your application.
14
+ # Add necessary setup steps to this file.
15
+
16
+ puts '== Installing dependencies =='
17
+ system! 'gem install bundler --conservative'
18
+ system('bundle check') || system!('bundle install')
19
+
20
+ # puts "\n== Copying sample files =="
21
+ # unless File.exist?('config/database.yml')
22
+ # cp 'config/database.yml.sample', 'config/database.yml'
23
+ # end
24
+
25
+ puts "\n== Preparing database =="
26
+ system! 'bin/rails db:setup'
27
+
28
+ puts "\n== Removing old logs and tempfiles =="
29
+ system! 'bin/rails log:clear tmp:clear'
30
+
31
+ puts "\n== Restarting application server =="
32
+ system! 'bin/rails restart'
33
+ end
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # This file loads Spring without using Bundler, in order to be fast.
4
+ # It gets overwritten when you run the `spring binstub` command.
5
+
6
+ unless defined?(Spring)
7
+ require 'rubygems'
8
+ require 'bundler'
9
+
10
+ lockfile = Bundler::LockfileParser.new(Bundler.default_lockfile.read)
11
+ spring = lockfile.specs.detect { |spec| spec.name == 'spring' }
12
+ if spring
13
+ Gem.use_paths Gem.dir, Bundler.bundle_path.to_s, *Gem.path
14
+ gem 'spring', spring.version
15
+ require 'spring/binstub'
16
+ end
17
+ end
@@ -0,0 +1,28 @@
1
+ #!/usr/bin/env ruby
2
+ require 'fileutils'
3
+ include FileUtils
4
+
5
+ # path to your application root.
6
+ APP_ROOT = File.expand_path('..', __dir__)
7
+
8
+ def system!(*args)
9
+ system(*args) || abort("\n== Command #{args} failed ==")
10
+ end
11
+
12
+ chdir APP_ROOT do
13
+ # This script is a way to update your development environment automatically.
14
+ # Add necessary update steps to this file.
15
+
16
+ puts '== Installing dependencies =='
17
+ system! 'gem install bundler --conservative'
18
+ system('bundle check') || system!('bundle install')
19
+
20
+ puts "\n== Updating database =="
21
+ system! 'bin/rails db:migrate'
22
+
23
+ puts "\n== Removing old logs and tempfiles =="
24
+ system! 'bin/rails log:clear tmp:clear'
25
+
26
+ puts "\n== Restarting application server =="
27
+ system! 'bin/rails restart'
28
+ end
@@ -0,0 +1,36 @@
1
+ # typed: strict
2
+ require_relative 'boot'
3
+
4
+ require "rails"
5
+ # Pick the frameworks you want:
6
+ require "active_model/railtie"
7
+ require "active_job/railtie"
8
+ require "active_record/railtie"
9
+ require "active_storage/engine"
10
+ require "action_controller/railtie"
11
+ require "action_mailer/railtie"
12
+ require "action_view/railtie"
13
+ require "action_cable/engine"
14
+ # require "sprockets/railtie"
15
+ require "rails/test_unit/railtie"
16
+
17
+ # Require the gems listed in Gemfile, including any gems
18
+ # you've limited to :test, :development, or :production.
19
+ Bundler.require(*Rails.groups)
20
+
21
+ module RailsApp
22
+ class Application < Rails::Application
23
+ # Initialize configuration defaults for originally generated Rails version.
24
+ config.load_defaults 5.2
25
+
26
+ # Settings in config/environments/* take precedence over those specified here.
27
+ # Application configuration can go into files in config/initializers
28
+ # -- all .rb files in that directory are automatically loaded after loading
29
+ # the framework and any gems in your application.
30
+
31
+ # Only loads a smaller set of middleware suitable for API only apps.
32
+ # Middleware like session, flash, cookies can be added back manually.
33
+ # Skip views, helpers and assets when generating a new resource.
34
+ config.api_only = true
35
+ end
36
+ end
@@ -0,0 +1,4 @@
1
+ # typed: strong
2
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
3
+
4
+ require 'bundler/setup' # Set up gems listed in the Gemfile.
@@ -0,0 +1,10 @@
1
+ development:
2
+ adapter: async
3
+
4
+ test:
5
+ adapter: async
6
+
7
+ production:
8
+ adapter: redis
9
+ url: <%= ENV.fetch("REDIS_URL") { "redis://localhost:6379/1" } %>
10
+ channel_prefix: rails_app_production
@@ -0,0 +1 @@
1
+ Y1Wmg1d8/GcG/5uOckL5oi7hYMNCXjwKjzk8GZQJ5cfX4xbFcJNPxsYhb/WpiVpT8z3/84aGMxdhQMfSfS/7iV9AkLReRYlyzKowIcvfDzPk1MRPPsLMRt+BeyGYtnYsi3MwtbR54e+eGUYjOIsKKu48qjNBHFB+HGFXxp9yqwDOAQ1IZdtyS30BTlIDHcogmn37bBz00Ft5NZjjbND3r9en7F42YJFqVDMwspskfjbbEpraEa+V4jFHFF4VXGEj+6D/lY9MThPYWIsNd+UK9uY37QyzEj9mTQMc7Ot6CaojhlbtjaG2JXCcpaFc9bFx8LEC/tB9HUGVaq89IqyELMCsnqKvHJ8gEi0MuRgAzIvbIv/abQzwfdFFWwEiNNJbNbDQ5iyDlUfLmzB0nPaK3ng70/ZMo4Jw2anh--lRgFoT/AEiTPa1Ed--l71FGlZ5jnultCNWmNH1/A==