suspenders 20230113.0 → 20250317.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +98 -170
  3. data/Rakefile +17 -0
  4. data/lib/generators/suspenders/accessibility_generator.rb +24 -0
  5. data/lib/generators/suspenders/advisories_generator.rb +32 -0
  6. data/lib/generators/suspenders/ci_generator.rb +54 -0
  7. data/lib/generators/suspenders/email_generator.rb +56 -0
  8. data/lib/generators/suspenders/environments/development_generator.rb +50 -0
  9. data/lib/generators/suspenders/environments/production_generator.rb +27 -0
  10. data/lib/generators/suspenders/environments/test_generator.rb +39 -0
  11. data/lib/generators/suspenders/factories_generator.rb +64 -0
  12. data/lib/generators/suspenders/inline_svg_generator.rb +24 -0
  13. data/lib/generators/suspenders/install/web_generator.rb +85 -0
  14. data/lib/generators/suspenders/jobs_generator.rb +34 -0
  15. data/lib/generators/suspenders/lint_generator.rb +94 -0
  16. data/lib/generators/suspenders/prerequisites_generator.rb +19 -0
  17. data/lib/generators/suspenders/rake_generator.rb +25 -0
  18. data/lib/generators/suspenders/setup_generator.rb +14 -0
  19. data/lib/generators/suspenders/styles_generator.rb +84 -0
  20. data/lib/generators/suspenders/tasks_generator.rb +20 -0
  21. data/lib/generators/suspenders/testing_generator.rb +113 -0
  22. data/lib/generators/suspenders/views_generator.rb +38 -0
  23. data/lib/generators/templates/ci/ci.yml.tt +148 -0
  24. data/lib/generators/templates/email/email_interceptor.rb +11 -0
  25. data/lib/generators/templates/factories/factories_spec.rb +7 -0
  26. data/lib/generators/templates/factories/factories_test.rb +9 -0
  27. data/lib/generators/templates/install/web/CONTRIBUTING.md +94 -0
  28. data/lib/generators/templates/lint/config_better_html.yml +2 -0
  29. data/lib/generators/templates/lint/config_initializers_better_html.rb +9 -0
  30. data/lib/generators/templates/lint/erb-lint.yml +63 -0
  31. data/lib/generators/templates/lint/erblint.rake +47 -0
  32. data/lib/generators/templates/lint/eslintrc.json +7 -0
  33. data/lib/generators/templates/lint/package.json +4 -0
  34. data/lib/generators/templates/lint/prettierignore +1 -0
  35. data/lib/generators/templates/lint/prettierrc +11 -0
  36. data/lib/generators/templates/lint/rubocop.yml.tt +7 -0
  37. data/lib/generators/templates/prerequisites/node-version.tt +1 -0
  38. data/lib/generators/templates/setup/bin_setup.rb +39 -0
  39. data/lib/generators/templates/styles/postcss.config.js +11 -0
  40. data/lib/generators/templates/testing/driver.rb +5 -0
  41. data/lib/generators/templates/views/flashes.html.erb +7 -0
  42. data/lib/install/web.rb +70 -0
  43. data/lib/suspenders/cleanup/generate_readme.rb +165 -0
  44. data/lib/suspenders/cleanup/organize_gemfile.rb +134 -0
  45. data/lib/suspenders/engine.rb +5 -0
  46. data/lib/suspenders/generators.rb +126 -0
  47. data/lib/suspenders/railtie.rb +4 -0
  48. data/lib/suspenders/version.rb +4 -6
  49. data/lib/suspenders.rb +9 -33
  50. data/lib/tasks/suspenders.rake +37 -0
  51. metadata +81 -173
  52. data/.ruby-version +0 -1
  53. data/CONTRIBUTING.md +0 -59
  54. data/GOALS.md +0 -65
  55. data/LICENSE +0 -21
  56. data/NEWS.md +0 -738
  57. data/RELEASING.md +0 -18
  58. data/bin/suspenders +0 -50
  59. data/docs/heroku_deploy.md +0 -19
  60. data/docs/rails_7.md +0 -5
  61. data/lib/suspenders/actions/strip_comments_action.rb +0 -254
  62. data/lib/suspenders/actions.rb +0 -106
  63. data/lib/suspenders/adapters/heroku.rb +0 -136
  64. data/lib/suspenders/app_builder.rb +0 -267
  65. data/lib/suspenders/exit_on_failure.rb +0 -19
  66. data/lib/suspenders/generators/accessibility_generator.rb +0 -12
  67. data/lib/suspenders/generators/advisories_generator.rb +0 -15
  68. data/lib/suspenders/generators/analytics_generator.rb +0 -24
  69. data/lib/suspenders/generators/app_generator.rb +0 -215
  70. data/lib/suspenders/generators/base.rb +0 -60
  71. data/lib/suspenders/generators/ci_generator.rb +0 -32
  72. data/lib/suspenders/generators/db_optimizations_generator.rb +0 -18
  73. data/lib/suspenders/generators/factories_generator.rb +0 -22
  74. data/lib/suspenders/generators/forms_generator.rb +0 -18
  75. data/lib/suspenders/generators/inline_svg_generator.rb +0 -14
  76. data/lib/suspenders/generators/jobs_generator.rb +0 -37
  77. data/lib/suspenders/generators/js_driver_generator.rb +0 -18
  78. data/lib/suspenders/generators/json_generator.rb +0 -14
  79. data/lib/suspenders/generators/lint_generator.rb +0 -14
  80. data/lib/suspenders/generators/production/compression_generator.rb +0 -14
  81. data/lib/suspenders/generators/production/deployment_generator.rb +0 -16
  82. data/lib/suspenders/generators/production/email_generator.rb +0 -34
  83. data/lib/suspenders/generators/production/force_tls_generator.rb +0 -11
  84. data/lib/suspenders/generators/production/manifest_generator.rb +0 -25
  85. data/lib/suspenders/generators/production/single_redirect.rb +0 -15
  86. data/lib/suspenders/generators/production/timeout_generator.rb +0 -22
  87. data/lib/suspenders/generators/profiler_generator.rb +0 -35
  88. data/lib/suspenders/generators/runner_generator.rb +0 -48
  89. data/lib/suspenders/generators/staging/pull_requests_generator.rb +0 -25
  90. data/lib/suspenders/generators/static_generator.rb +0 -14
  91. data/lib/suspenders/generators/stylelint_generator.rb +0 -71
  92. data/lib/suspenders/generators/stylesheet_base_generator.rb +0 -15
  93. data/lib/suspenders/generators/testing_generator.rb +0 -43
  94. data/lib/suspenders/generators/views_generator.rb +0 -25
  95. data/templates/Gemfile.erb +0 -49
  96. data/templates/Procfile +0 -2
  97. data/templates/README.md.erb +0 -28
  98. data/templates/_analytics.html.erb +0 -8
  99. data/templates/_css_overrides.html.erb +0 -7
  100. data/templates/_flashes.html.erb +0 -7
  101. data/templates/active_job.rb +0 -14
  102. data/templates/application.postcss.css +0 -1
  103. data/templates/bin_auto_migrate +0 -5
  104. data/templates/bin_deploy +0 -10
  105. data/templates/bin_setup +0 -28
  106. data/templates/bin_setup_review_app.erb +0 -21
  107. data/templates/bin_yarn +0 -18
  108. data/templates/bundler_audit.rake +0 -4
  109. data/templates/capybara_silence_puma.rb +0 -1
  110. data/templates/chromedriver.rb +0 -27
  111. data/templates/circle.yml.erb +0 -6
  112. data/templates/config_locales_en.yml.erb +0 -19
  113. data/templates/descriptions/advisories.md +0 -5
  114. data/templates/descriptions/analytics.md +0 -4
  115. data/templates/descriptions/ci.md +0 -4
  116. data/templates/descriptions/compression.md +0 -4
  117. data/templates/descriptions/db_optimizations.md +0 -2
  118. data/templates/descriptions/deployment.md +0 -5
  119. data/templates/descriptions/email.md +0 -9
  120. data/templates/descriptions/factories.md +0 -12
  121. data/templates/descriptions/force_tls.md +0 -1
  122. data/templates/descriptions/forms.md +0 -1
  123. data/templates/descriptions/inline_svg.md +0 -2
  124. data/templates/descriptions/jobs.md +0 -3
  125. data/templates/descriptions/js_driver.md +0 -4
  126. data/templates/descriptions/json.md +0 -1
  127. data/templates/descriptions/lint.md +0 -3
  128. data/templates/descriptions/manifest.md +0 -2
  129. data/templates/descriptions/profiler.md +0 -7
  130. data/templates/descriptions/pull_requests.md +0 -4
  131. data/templates/descriptions/runner.md +0 -10
  132. data/templates/descriptions/single_redirect.md +0 -1
  133. data/templates/descriptions/static.md +0 -5
  134. data/templates/descriptions/stylelint.md +0 -3
  135. data/templates/descriptions/stylesheet_base.md +0 -1
  136. data/templates/descriptions/testing.md +0 -9
  137. data/templates/descriptions/timeout.md +0 -4
  138. data/templates/descriptions/views.md +0 -8
  139. data/templates/email.rb +0 -3
  140. data/templates/errors.rb +0 -35
  141. data/templates/flashes_helper.rb +0 -5
  142. data/templates/hound.yml +0 -15
  143. data/templates/json_encoding.rb +0 -1
  144. data/templates/oj.rb +0 -3
  145. data/templates/partials/ci_simplecov.rb +0 -14
  146. data/templates/partials/db_optimizations_configuration.rb +0 -7
  147. data/templates/partials/deployment_readme.md +0 -8
  148. data/templates/partials/email_smtp.rb +0 -2
  149. data/templates/partials/profiler_readme.md +0 -8
  150. data/templates/partials/pull_requests_config.rb +0 -5
  151. data/templates/partials/runner_readme.md +0 -31
  152. data/templates/partials/runner_setup.rb +0 -2
  153. data/templates/postcss.config.js +0 -8
  154. data/templates/postgresql_database.yml.erb +0 -20
  155. data/templates/rack_mini_profiler.rb +0 -7
  156. data/templates/rails_helper.rb +0 -25
  157. data/templates/sample_env +0 -12
  158. data/templates/secrets.yml +0 -8
  159. data/templates/smtp.rb +0 -9
  160. data/templates/spec_helper.rb +0 -25
  161. data/templates/suspenders_gitignore +0 -18
  162. data/templates/suspenders_layout.html.erb.erb +0 -23
  163. /data/{templates → lib/generators/templates/factories}/factories.rb +0 -0
  164. /data/{templates → lib/generators/templates/factories}/factory_bot_rspec.rb +0 -0
  165. /data/{templates → lib/generators/templates/inline_svg}/inline_svg.rb +0 -0
  166. /data/{templates → lib/generators/templates/lint}/stylelintrc.json +0 -0
  167. /data/{templates → lib/generators/templates/tasks}/dev.rake +0 -0
  168. /data/{templates → lib/generators/templates/testing}/action_mailer.rb +0 -0
  169. /data/{templates → lib/generators/templates/testing}/i18n.rb +0 -0
  170. /data/{templates/shoulda_matchers_config_rspec.rb → lib/generators/templates/testing/shoulda_matchers.rb} +0 -0
metadata CHANGED
@@ -1,59 +1,31 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: suspenders
3
3
  version: !ruby/object:Gem::Version
4
- version: '20230113.0'
4
+ version: '20250317.0'
5
5
  platform: ruby
6
6
  authors:
7
7
  - thoughtbot
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-13 00:00:00.000000000 Z
11
+ date: 2025-03-17 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: parser
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '3.0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '3.0'
27
- - !ruby/object:Gem::Dependency
28
- name: bundler
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '2.1'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '2.1'
41
13
  - !ruby/object:Gem::Dependency
42
14
  name: rails
43
15
  requirement: !ruby/object:Gem::Requirement
44
16
  requirements:
45
17
  - - "~>"
46
18
  - !ruby/object:Gem::Version
47
- version: 7.0.0
19
+ version: '8.0'
48
20
  type: :runtime
49
21
  prerelease: false
50
22
  version_requirements: !ruby/object:Gem::Requirement
51
23
  requirements:
52
24
  - - "~>"
53
25
  - !ruby/object:Gem::Version
54
- version: 7.0.0
26
+ version: '8.0'
55
27
  - !ruby/object:Gem::Dependency
56
- name: pry
28
+ name: climate_control
57
29
  requirement: !ruby/object:Gem::Requirement
58
30
  requirements:
59
31
  - - ">="
@@ -67,19 +39,19 @@ dependencies:
67
39
  - !ruby/object:Gem::Version
68
40
  version: '0'
69
41
  - !ruby/object:Gem::Dependency
70
- name: rspec
42
+ name: mocha
71
43
  requirement: !ruby/object:Gem::Requirement
72
44
  requirements:
73
- - - "~>"
45
+ - - ">="
74
46
  - !ruby/object:Gem::Version
75
- version: '3.2'
47
+ version: '0'
76
48
  type: :development
77
49
  prerelease: false
78
50
  version_requirements: !ruby/object:Gem::Requirement
79
51
  requirements:
80
- - - "~>"
52
+ - - ">="
81
53
  - !ruby/object:Gem::Version
82
- version: '3.2'
54
+ version: '0'
83
55
  - !ruby/object:Gem::Dependency
84
56
  name: standard
85
57
  requirement: !ruby/object:Gem::Requirement
@@ -95,161 +67,97 @@ dependencies:
95
67
  - !ruby/object:Gem::Version
96
68
  version: '0'
97
69
  description: |
98
- Suspenders is a base Rails project that you can upgrade. It is used by
99
- thoughtbot to get a jump start on a working app. Use Suspenders if you're in a
100
- rush to build something amazing; don't use it if you like missing deadlines.
101
- email: support@thoughtbot.com
102
- executables:
103
- - suspenders
70
+ Suspenders is a Rails plugin containing generators for configuring Rails
71
+ applications. It is used by thoughtbot to get a jump start on a new or
72
+ existing app. Use Suspenders if you're in a rush to build something amazing;
73
+ don't use it if you like missing deadlines.
74
+ email:
75
+ - support@thoughtbot.com
76
+ executables: []
104
77
  extensions: []
105
- extra_rdoc_files:
106
- - README.md
107
- - LICENSE
78
+ extra_rdoc_files: []
108
79
  files:
109
- - ".ruby-version"
110
- - CONTRIBUTING.md
111
- - GOALS.md
112
- - LICENSE
113
- - NEWS.md
114
80
  - README.md
115
- - RELEASING.md
116
- - bin/suspenders
117
- - docs/heroku_deploy.md
118
- - docs/rails_7.md
81
+ - Rakefile
82
+ - lib/generators/suspenders/accessibility_generator.rb
83
+ - lib/generators/suspenders/advisories_generator.rb
84
+ - lib/generators/suspenders/ci_generator.rb
85
+ - lib/generators/suspenders/email_generator.rb
86
+ - lib/generators/suspenders/environments/development_generator.rb
87
+ - lib/generators/suspenders/environments/production_generator.rb
88
+ - lib/generators/suspenders/environments/test_generator.rb
89
+ - lib/generators/suspenders/factories_generator.rb
90
+ - lib/generators/suspenders/inline_svg_generator.rb
91
+ - lib/generators/suspenders/install/web_generator.rb
92
+ - lib/generators/suspenders/jobs_generator.rb
93
+ - lib/generators/suspenders/lint_generator.rb
94
+ - lib/generators/suspenders/prerequisites_generator.rb
95
+ - lib/generators/suspenders/rake_generator.rb
96
+ - lib/generators/suspenders/setup_generator.rb
97
+ - lib/generators/suspenders/styles_generator.rb
98
+ - lib/generators/suspenders/tasks_generator.rb
99
+ - lib/generators/suspenders/testing_generator.rb
100
+ - lib/generators/suspenders/views_generator.rb
101
+ - lib/generators/templates/ci/ci.yml.tt
102
+ - lib/generators/templates/email/email_interceptor.rb
103
+ - lib/generators/templates/factories/factories.rb
104
+ - lib/generators/templates/factories/factories_spec.rb
105
+ - lib/generators/templates/factories/factories_test.rb
106
+ - lib/generators/templates/factories/factory_bot_rspec.rb
107
+ - lib/generators/templates/inline_svg/inline_svg.rb
108
+ - lib/generators/templates/install/web/CONTRIBUTING.md
109
+ - lib/generators/templates/lint/config_better_html.yml
110
+ - lib/generators/templates/lint/config_initializers_better_html.rb
111
+ - lib/generators/templates/lint/erb-lint.yml
112
+ - lib/generators/templates/lint/erblint.rake
113
+ - lib/generators/templates/lint/eslintrc.json
114
+ - lib/generators/templates/lint/package.json
115
+ - lib/generators/templates/lint/prettierignore
116
+ - lib/generators/templates/lint/prettierrc
117
+ - lib/generators/templates/lint/rubocop.yml.tt
118
+ - lib/generators/templates/lint/stylelintrc.json
119
+ - lib/generators/templates/prerequisites/node-version.tt
120
+ - lib/generators/templates/setup/bin_setup.rb
121
+ - lib/generators/templates/styles/postcss.config.js
122
+ - lib/generators/templates/tasks/dev.rake
123
+ - lib/generators/templates/testing/action_mailer.rb
124
+ - lib/generators/templates/testing/driver.rb
125
+ - lib/generators/templates/testing/i18n.rb
126
+ - lib/generators/templates/testing/shoulda_matchers.rb
127
+ - lib/generators/templates/views/flashes.html.erb
128
+ - lib/install/web.rb
119
129
  - lib/suspenders.rb
120
- - lib/suspenders/actions.rb
121
- - lib/suspenders/actions/strip_comments_action.rb
122
- - lib/suspenders/adapters/heroku.rb
123
- - lib/suspenders/app_builder.rb
124
- - lib/suspenders/exit_on_failure.rb
125
- - lib/suspenders/generators/accessibility_generator.rb
126
- - lib/suspenders/generators/advisories_generator.rb
127
- - lib/suspenders/generators/analytics_generator.rb
128
- - lib/suspenders/generators/app_generator.rb
129
- - lib/suspenders/generators/base.rb
130
- - lib/suspenders/generators/ci_generator.rb
131
- - lib/suspenders/generators/db_optimizations_generator.rb
132
- - lib/suspenders/generators/factories_generator.rb
133
- - lib/suspenders/generators/forms_generator.rb
134
- - lib/suspenders/generators/inline_svg_generator.rb
135
- - lib/suspenders/generators/jobs_generator.rb
136
- - lib/suspenders/generators/js_driver_generator.rb
137
- - lib/suspenders/generators/json_generator.rb
138
- - lib/suspenders/generators/lint_generator.rb
139
- - lib/suspenders/generators/production/compression_generator.rb
140
- - lib/suspenders/generators/production/deployment_generator.rb
141
- - lib/suspenders/generators/production/email_generator.rb
142
- - lib/suspenders/generators/production/force_tls_generator.rb
143
- - lib/suspenders/generators/production/manifest_generator.rb
144
- - lib/suspenders/generators/production/single_redirect.rb
145
- - lib/suspenders/generators/production/timeout_generator.rb
146
- - lib/suspenders/generators/profiler_generator.rb
147
- - lib/suspenders/generators/runner_generator.rb
148
- - lib/suspenders/generators/staging/pull_requests_generator.rb
149
- - lib/suspenders/generators/static_generator.rb
150
- - lib/suspenders/generators/stylelint_generator.rb
151
- - lib/suspenders/generators/stylesheet_base_generator.rb
152
- - lib/suspenders/generators/testing_generator.rb
153
- - lib/suspenders/generators/views_generator.rb
130
+ - lib/suspenders/cleanup/generate_readme.rb
131
+ - lib/suspenders/cleanup/organize_gemfile.rb
132
+ - lib/suspenders/engine.rb
133
+ - lib/suspenders/generators.rb
134
+ - lib/suspenders/railtie.rb
154
135
  - lib/suspenders/version.rb
155
- - templates/Gemfile.erb
156
- - templates/Procfile
157
- - templates/README.md.erb
158
- - templates/_analytics.html.erb
159
- - templates/_css_overrides.html.erb
160
- - templates/_flashes.html.erb
161
- - templates/action_mailer.rb
162
- - templates/active_job.rb
163
- - templates/application.postcss.css
164
- - templates/bin_auto_migrate
165
- - templates/bin_deploy
166
- - templates/bin_setup
167
- - templates/bin_setup_review_app.erb
168
- - templates/bin_yarn
169
- - templates/bundler_audit.rake
170
- - templates/capybara_silence_puma.rb
171
- - templates/chromedriver.rb
172
- - templates/circle.yml.erb
173
- - templates/config_locales_en.yml.erb
174
- - templates/descriptions/advisories.md
175
- - templates/descriptions/analytics.md
176
- - templates/descriptions/ci.md
177
- - templates/descriptions/compression.md
178
- - templates/descriptions/db_optimizations.md
179
- - templates/descriptions/deployment.md
180
- - templates/descriptions/email.md
181
- - templates/descriptions/factories.md
182
- - templates/descriptions/force_tls.md
183
- - templates/descriptions/forms.md
184
- - templates/descriptions/inline_svg.md
185
- - templates/descriptions/jobs.md
186
- - templates/descriptions/js_driver.md
187
- - templates/descriptions/json.md
188
- - templates/descriptions/lint.md
189
- - templates/descriptions/manifest.md
190
- - templates/descriptions/profiler.md
191
- - templates/descriptions/pull_requests.md
192
- - templates/descriptions/runner.md
193
- - templates/descriptions/single_redirect.md
194
- - templates/descriptions/static.md
195
- - templates/descriptions/stylelint.md
196
- - templates/descriptions/stylesheet_base.md
197
- - templates/descriptions/testing.md
198
- - templates/descriptions/timeout.md
199
- - templates/descriptions/views.md
200
- - templates/dev.rake
201
- - templates/email.rb
202
- - templates/errors.rb
203
- - templates/factories.rb
204
- - templates/factory_bot_rspec.rb
205
- - templates/flashes_helper.rb
206
- - templates/hound.yml
207
- - templates/i18n.rb
208
- - templates/inline_svg.rb
209
- - templates/json_encoding.rb
210
- - templates/oj.rb
211
- - templates/partials/ci_simplecov.rb
212
- - templates/partials/db_optimizations_configuration.rb
213
- - templates/partials/deployment_readme.md
214
- - templates/partials/email_smtp.rb
215
- - templates/partials/profiler_readme.md
216
- - templates/partials/pull_requests_config.rb
217
- - templates/partials/runner_readme.md
218
- - templates/partials/runner_setup.rb
219
- - templates/postcss.config.js
220
- - templates/postgresql_database.yml.erb
221
- - templates/rack_mini_profiler.rb
222
- - templates/rails_helper.rb
223
- - templates/sample_env
224
- - templates/secrets.yml
225
- - templates/shoulda_matchers_config_rspec.rb
226
- - templates/smtp.rb
227
- - templates/spec_helper.rb
228
- - templates/stylelintrc.json
229
- - templates/suspenders_gitignore
230
- - templates/suspenders_layout.html.erb.erb
136
+ - lib/tasks/suspenders.rake
231
137
  homepage: http://github.com/thoughtbot/suspenders
232
138
  licenses:
233
139
  - MIT
234
- metadata: {}
140
+ metadata:
141
+ homepage_uri: http://github.com/thoughtbot/suspenders
142
+ source_code_uri: http://github.com/thoughtbot/suspenders
143
+ changelog_uri: https://github.com/thoughtbot/suspenders/blob/main/NEWS.md
235
144
  post_install_message:
236
- rdoc_options:
237
- - "--charset=UTF-8"
145
+ rdoc_options: []
238
146
  require_paths:
239
147
  - lib
240
148
  required_ruby_version: !ruby/object:Gem::Requirement
241
149
  requirements:
242
150
  - - ">="
243
151
  - !ruby/object:Gem::Version
244
- version: 3.0.5
152
+ version: '3.1'
245
153
  required_rubygems_version: !ruby/object:Gem::Requirement
246
154
  requirements:
247
155
  - - ">="
248
156
  - !ruby/object:Gem::Version
249
- version: 3.0.0
157
+ version: '0'
250
158
  requirements: []
251
- rubygems_version: 3.2.33
159
+ rubygems_version: 3.5.9
252
160
  signing_key:
253
161
  specification_version: 4
254
- summary: Generate a Rails app using thoughtbot's best practices.
162
+ summary: Rails generators using thoughtbot's best practices.
255
163
  test_files: []
data/.ruby-version DELETED
@@ -1 +0,0 @@
1
- 3.0.5
data/CONTRIBUTING.md DELETED
@@ -1,59 +0,0 @@
1
- # Contributing
2
-
3
- We love pull requests from everyone. By participating in this project, you
4
- agree to abide by the thoughtbot [code of conduct].
5
-
6
- [code of conduct]: https://thoughtbot.com/open-source-code-of-conduct
7
-
8
- Fork the repo:
9
-
10
- git clone git@github.com:thoughtbot/suspenders.git
11
-
12
- Set up your machine:
13
-
14
- ./bin/setup
15
-
16
- Make sure the tests pass:
17
-
18
- rake
19
-
20
- Make your change. Write tests. Follow our [style guide][style]. Make the tests
21
- pass:
22
-
23
- [style]: https://github.com/thoughtbot/guides/blob/main/ruby/README.md
24
-
25
- rake
26
-
27
- Mention how your changes affect the project to other developers and users in
28
- the `NEWS.md` file.
29
-
30
- Write a [good commit message][commit].
31
- Push to your fork.
32
- [Submit a pull request][pr].
33
-
34
- [commit]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
35
- [pr]: https://github.com/thoughtbot/suspenders/compare/
36
-
37
- If [Hound] catches style violations, fix them.
38
-
39
- [hound]: https://houndci.com
40
-
41
- Wait for us. We try to at least comment on pull requests within one business
42
- day. We may suggest changes.
43
-
44
- ## Generators
45
-
46
- All new contributions must be within the generator framework, as described in
47
- [our goals](GOALS.md).
48
-
49
- ## Versions
50
-
51
- To update the Ruby version, change `.ruby-version`.
52
-
53
- If you see this error while running tests:
54
-
55
- ```
56
- Your Ruby version is XXX, but your Gemfile specified YYY (Bundler::RubyVersionMismatch)
57
- ```
58
-
59
- Try removing the `tmp/` directory and re-running the tests.
data/GOALS.md DELETED
@@ -1,65 +0,0 @@
1
- # Goals
2
-
3
- Suspenders is an opinionated platform for adding functionality to a Rails app.
4
- It encodes thoughtbot's opinions and decisions in tooling and best practices.
5
-
6
- We are transitioning to a library of generators. All new functionality must be
7
- in the form of a well-tested, self-contained generator that fits within the
8
- Suspenders framework.
9
-
10
- ## History and transitions
11
-
12
- In the beginning suspenders was a git repo that we would clone then use as a
13
- template for starting a new Rails app.
14
-
15
- It then became a command-line tool that would generate a Rails app then modify
16
- the files in place. Over time, and with intention, most of the modifications
17
- were focused on modifying the Gemfile.
18
-
19
- This was identified as unscalable and we have been slowing been moving in a new
20
- direction: a library of generators.
21
-
22
- ## The future
23
-
24
- The problem with a script that adds a bunch of gem requirements to the Gemfile
25
- is: what if you don't want all those gems? Suspenders adds gem requirements and
26
- then configures each one. On a typical project we would run Suspenders then
27
- spend the rest of the day un-doing the parts we don't want.
28
-
29
- In 2015, [PR #511], we discussed what we want: a gem that is a library of
30
- generators that we can run on demand. The ideal future workflow goes like this:
31
-
32
- [PR #511]: https://github.com/thoughtbot/suspenders/pull/511
33
-
34
- 1. `rails new my-cool-project && cd my-cool-project`
35
- 2. `echo "gem 'suspenders', group: :development" >> Gemfile && bundle`
36
- 3. `rails g suspenders:ci`
37
- 4. Repeat with other generators as needed.
38
-
39
- In this future you would use `rails new` as normal and instead add Suspenders
40
- as a development gem. This gives you access to opinionated generators for
41
- adding (and removing!) whole functionality, but on demand and with your
42
- knowledge.
43
-
44
- The generators are all named to generically describe what functionality they
45
- add. In this way we can change our opinions on the implementation without
46
- needing to know new generator names. For example, `suspenders:ci` could
47
- configure the app for CircleCI now, but down the road we may decide to switch
48
- everything to Jenkins; we could update the implementation of the generator
49
- without changing its name.
50
-
51
- ## From here to there
52
-
53
- The transition looks like this:
54
-
55
- 1. Introduce a `suspenders:all` generator that runs Suspenders against an
56
- existing Rails app.
57
- 2. Change the Suspenders program to create a Rails app, add Suspenders to the
58
- Gemfile, and run `suspenders:all` inside of it.
59
- 3. Slowly split functionality out from the "all" generator and into smaller,
60
- well-tested, self-contained generators. The "all" generator invokes these
61
- generators.
62
- 4. Once that is completed -- once "all" _only_ calls other generators -- then
63
- remove the Suspenders program and only distribute the gem.
64
-
65
- We are on step (3), and it's a big one. Come help out!
data/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- The MIT License
2
-
3
- Copyright (c) 2008-2017 thoughtbot, inc.
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in
13
- all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- THE SOFTWARE.