suspenders 1.56.1 → 20240516.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (168) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +83 -172
  3. data/Rakefile +13 -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 +57 -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 +71 -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/ci/dependabot.yml +7 -0
  25. data/lib/generators/templates/email/email_interceptor.rb +11 -0
  26. data/lib/generators/templates/factories/factories_spec.rb +7 -0
  27. data/lib/generators/templates/factories/factories_test.rb +9 -0
  28. data/lib/generators/templates/install/web/CONTRIBUTING.md +94 -0
  29. data/lib/generators/templates/lint/config_better_html.yml +2 -0
  30. data/lib/generators/templates/lint/config_initializers_better_html.rb +9 -0
  31. data/lib/generators/templates/lint/erb-lint.yml +63 -0
  32. data/lib/generators/templates/lint/erblint.rake +47 -0
  33. data/lib/generators/templates/lint/eslintrc.json +7 -0
  34. data/lib/generators/templates/lint/package.json +4 -0
  35. data/lib/generators/templates/lint/prettierignore +1 -0
  36. data/lib/generators/templates/lint/prettierrc +11 -0
  37. data/lib/generators/templates/lint/rubocop.yml.tt +7 -0
  38. data/lib/generators/templates/prerequisites/node-version.tt +1 -0
  39. data/lib/generators/templates/setup/bin_setup.rb +39 -0
  40. data/lib/generators/templates/styles/postcss.config.js +11 -0
  41. data/lib/generators/templates/testing/driver.rb +5 -0
  42. data/lib/generators/templates/views/flashes.html.erb +7 -0
  43. data/lib/install/web.rb +54 -0
  44. data/lib/suspenders/cleanup/generate_readme.rb +165 -0
  45. data/lib/suspenders/cleanup/organize_gemfile.rb +134 -0
  46. data/lib/suspenders/engine.rb +5 -0
  47. data/lib/suspenders/generators.rb +126 -0
  48. data/lib/suspenders/railtie.rb +4 -0
  49. data/lib/suspenders/version.rb +4 -6
  50. data/lib/suspenders.rb +9 -32
  51. data/lib/tasks/suspenders.rake +37 -0
  52. metadata +85 -187
  53. data/.ruby-version +0 -1
  54. data/CONTRIBUTING.md +0 -59
  55. data/GOALS.md +0 -65
  56. data/LICENSE +0 -21
  57. data/NEWS.md +0 -725
  58. data/RELEASING.md +0 -18
  59. data/bin/suspenders +0 -50
  60. data/docs/heroku_deploy.md +0 -19
  61. data/lib/suspenders/actions/strip_comments_action.rb +0 -254
  62. data/lib/suspenders/actions.rb +0 -85
  63. data/lib/suspenders/adapters/heroku.rb +0 -136
  64. data/lib/suspenders/app_builder.rb +0 -254
  65. data/lib/suspenders/exit_on_failure.rb +0 -19
  66. data/lib/suspenders/generators/advisories_generator.rb +0 -15
  67. data/lib/suspenders/generators/analytics_generator.rb +0 -24
  68. data/lib/suspenders/generators/app_generator.rb +0 -216
  69. data/lib/suspenders/generators/base.rb +0 -60
  70. data/lib/suspenders/generators/ci_generator.rb +0 -32
  71. data/lib/suspenders/generators/db_optimizations_generator.rb +0 -18
  72. data/lib/suspenders/generators/factories_generator.rb +0 -22
  73. data/lib/suspenders/generators/forms_generator.rb +0 -18
  74. data/lib/suspenders/generators/inline_svg_generator.rb +0 -14
  75. data/lib/suspenders/generators/jobs_generator.rb +0 -38
  76. data/lib/suspenders/generators/js_driver_generator.rb +0 -18
  77. data/lib/suspenders/generators/json_generator.rb +0 -14
  78. data/lib/suspenders/generators/lint_generator.rb +0 -14
  79. data/lib/suspenders/generators/production/compression_generator.rb +0 -14
  80. data/lib/suspenders/generators/production/deployment_generator.rb +0 -16
  81. data/lib/suspenders/generators/production/email_generator.rb +0 -34
  82. data/lib/suspenders/generators/production/force_tls_generator.rb +0 -11
  83. data/lib/suspenders/generators/production/manifest_generator.rb +0 -25
  84. data/lib/suspenders/generators/production/single_redirect.rb +0 -15
  85. data/lib/suspenders/generators/production/timeout_generator.rb +0 -22
  86. data/lib/suspenders/generators/profiler_generator.rb +0 -35
  87. data/lib/suspenders/generators/runner_generator.rb +0 -48
  88. data/lib/suspenders/generators/staging/pull_requests_generator.rb +0 -25
  89. data/lib/suspenders/generators/static_generator.rb +0 -14
  90. data/lib/suspenders/generators/stylelint_generator.rb +0 -71
  91. data/lib/suspenders/generators/stylesheet_base_generator.rb +0 -30
  92. data/lib/suspenders/generators/testing_generator.rb +0 -43
  93. data/lib/suspenders/generators/views_generator.rb +0 -30
  94. data/templates/Gemfile.erb +0 -45
  95. data/templates/Procfile +0 -2
  96. data/templates/README.md.erb +0 -28
  97. data/templates/_analytics.html.erb +0 -8
  98. data/templates/_css_overrides.html.erb +0 -7
  99. data/templates/_flashes.html.erb +0 -7
  100. data/templates/_javascript.html.erb +0 -3
  101. data/templates/active_job.rb +0 -13
  102. data/templates/application.scss +0 -7
  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/bundler_audit.rake +0 -4
  108. data/templates/capybara_silence_puma.rb +0 -1
  109. data/templates/chromedriver.rb +0 -27
  110. data/templates/circle.yml.erb +0 -6
  111. data/templates/config_locales_en.yml.erb +0 -19
  112. data/templates/descriptions/advisories.md +0 -5
  113. data/templates/descriptions/analytics.md +0 -4
  114. data/templates/descriptions/ci.md +0 -4
  115. data/templates/descriptions/compression.md +0 -4
  116. data/templates/descriptions/db_optimizations.md +0 -2
  117. data/templates/descriptions/deployment.md +0 -5
  118. data/templates/descriptions/email.md +0 -9
  119. data/templates/descriptions/factories.md +0 -12
  120. data/templates/descriptions/force_tls.md +0 -1
  121. data/templates/descriptions/forms.md +0 -1
  122. data/templates/descriptions/inline_svg.md +0 -2
  123. data/templates/descriptions/jobs.md +0 -3
  124. data/templates/descriptions/js_driver.md +0 -4
  125. data/templates/descriptions/json.md +0 -1
  126. data/templates/descriptions/lint.md +0 -3
  127. data/templates/descriptions/manifest.md +0 -2
  128. data/templates/descriptions/profiler.md +0 -7
  129. data/templates/descriptions/pull_requests.md +0 -4
  130. data/templates/descriptions/runner.md +0 -10
  131. data/templates/descriptions/single_redirect.md +0 -1
  132. data/templates/descriptions/static.md +0 -5
  133. data/templates/descriptions/stylelint.md +0 -3
  134. data/templates/descriptions/stylesheet_base.md +0 -4
  135. data/templates/descriptions/testing.md +0 -9
  136. data/templates/descriptions/timeout.md +0 -4
  137. data/templates/descriptions/views.md +0 -8
  138. data/templates/email.rb +0 -3
  139. data/templates/errors.rb +0 -35
  140. data/templates/flashes_helper.rb +0 -5
  141. data/templates/hound.yml +0 -15
  142. data/templates/json_encoding.rb +0 -1
  143. data/templates/oj.rb +0 -3
  144. data/templates/partials/ci_simplecov.rb +0 -14
  145. data/templates/partials/db_optimizations_configuration.rb +0 -7
  146. data/templates/partials/deployment_readme.md +0 -8
  147. data/templates/partials/email_smtp.rb +0 -2
  148. data/templates/partials/profiler_readme.md +0 -8
  149. data/templates/partials/pull_requests_config.rb +0 -5
  150. data/templates/partials/runner_readme.md +0 -31
  151. data/templates/partials/runner_setup.rb +0 -2
  152. data/templates/postgresql_database.yml.erb +0 -20
  153. data/templates/rack_mini_profiler.rb +0 -7
  154. data/templates/rails_helper.rb +0 -25
  155. data/templates/sample_env +0 -11
  156. data/templates/secrets.yml +0 -8
  157. data/templates/smtp.rb +0 -9
  158. data/templates/spec_helper.rb +0 -25
  159. data/templates/suspenders_gitignore +0 -18
  160. data/templates/suspenders_layout.html.erb.erb +0 -21
  161. /data/{templates → lib/generators/templates/factories}/factories.rb +0 -0
  162. /data/{templates → lib/generators/templates/factories}/factory_bot_rspec.rb +0 -0
  163. /data/{templates → lib/generators/templates/inline_svg}/inline_svg.rb +0 -0
  164. /data/{templates → lib/generators/templates/lint}/stylelintrc.json +0 -0
  165. /data/{templates → lib/generators/templates/tasks}/dev.rake +0 -0
  166. /data/{templates → lib/generators/templates/testing}/action_mailer.rb +0 -0
  167. /data/{templates → lib/generators/templates/testing}/i18n.rb +0 -0
  168. /data/{templates/shoulda_matchers_config_rspec.rb → lib/generators/templates/testing/shoulda_matchers.rb} +0 -0
metadata CHANGED
@@ -1,73 +1,31 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: suspenders
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.56.1
4
+ version: '20240516.0'
5
5
  platform: ruby
6
6
  authors:
7
7
  - thoughtbot
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-07-17 00:00:00.000000000 Z
11
+ date: 2024-05-16 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: bitters
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: 2.0.4
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: 2.0.4
27
- - !ruby/object:Gem::Dependency
28
- name: parser
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '3.0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '3.0'
41
- - !ruby/object:Gem::Dependency
42
- name: bundler
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '2.1'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '2.1'
55
13
  - !ruby/object:Gem::Dependency
56
14
  name: rails
57
15
  requirement: !ruby/object:Gem::Requirement
58
16
  requirements:
59
17
  - - "~>"
60
18
  - !ruby/object:Gem::Version
61
- version: 6.0.0
19
+ version: '7.0'
62
20
  type: :runtime
63
21
  prerelease: false
64
22
  version_requirements: !ruby/object:Gem::Requirement
65
23
  requirements:
66
24
  - - "~>"
67
25
  - !ruby/object:Gem::Version
68
- version: 6.0.0
26
+ version: '7.0'
69
27
  - !ruby/object:Gem::Dependency
70
- name: pry
28
+ name: climate_control
71
29
  requirement: !ruby/object:Gem::Requirement
72
30
  requirements:
73
31
  - - ">="
@@ -81,19 +39,19 @@ dependencies:
81
39
  - !ruby/object:Gem::Version
82
40
  version: '0'
83
41
  - !ruby/object:Gem::Dependency
84
- name: rspec
42
+ name: mocha
85
43
  requirement: !ruby/object:Gem::Requirement
86
44
  requirements:
87
- - - "~>"
45
+ - - ">="
88
46
  - !ruby/object:Gem::Version
89
- version: '3.2'
47
+ version: '0'
90
48
  type: :development
91
49
  prerelease: false
92
50
  version_requirements: !ruby/object:Gem::Requirement
93
51
  requirements:
94
- - - "~>"
52
+ - - ">="
95
53
  - !ruby/object:Gem::Version
96
- version: '3.2'
54
+ version: '0'
97
55
  - !ruby/object:Gem::Dependency
98
56
  name: standard
99
57
  requirement: !ruby/object:Gem::Requirement
@@ -109,158 +67,98 @@ dependencies:
109
67
  - !ruby/object:Gem::Version
110
68
  version: '0'
111
69
  description: |
112
- Suspenders is a base Rails project that you can upgrade. It is used by
113
- thoughtbot to get a jump start on a working app. Use Suspenders if you're in a
114
- rush to build something amazing; don't use it if you like missing deadlines.
115
- email: support@thoughtbot.com
116
- executables:
117
- - 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: []
118
77
  extensions: []
119
- extra_rdoc_files:
120
- - README.md
121
- - LICENSE
78
+ extra_rdoc_files: []
122
79
  files:
123
- - ".ruby-version"
124
- - CONTRIBUTING.md
125
- - GOALS.md
126
- - LICENSE
127
- - NEWS.md
128
80
  - README.md
129
- - RELEASING.md
130
- - bin/suspenders
131
- - docs/heroku_deploy.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/ci/dependabot.yml
103
+ - lib/generators/templates/email/email_interceptor.rb
104
+ - lib/generators/templates/factories/factories.rb
105
+ - lib/generators/templates/factories/factories_spec.rb
106
+ - lib/generators/templates/factories/factories_test.rb
107
+ - lib/generators/templates/factories/factory_bot_rspec.rb
108
+ - lib/generators/templates/inline_svg/inline_svg.rb
109
+ - lib/generators/templates/install/web/CONTRIBUTING.md
110
+ - lib/generators/templates/lint/config_better_html.yml
111
+ - lib/generators/templates/lint/config_initializers_better_html.rb
112
+ - lib/generators/templates/lint/erb-lint.yml
113
+ - lib/generators/templates/lint/erblint.rake
114
+ - lib/generators/templates/lint/eslintrc.json
115
+ - lib/generators/templates/lint/package.json
116
+ - lib/generators/templates/lint/prettierignore
117
+ - lib/generators/templates/lint/prettierrc
118
+ - lib/generators/templates/lint/rubocop.yml.tt
119
+ - lib/generators/templates/lint/stylelintrc.json
120
+ - lib/generators/templates/prerequisites/node-version.tt
121
+ - lib/generators/templates/setup/bin_setup.rb
122
+ - lib/generators/templates/styles/postcss.config.js
123
+ - lib/generators/templates/tasks/dev.rake
124
+ - lib/generators/templates/testing/action_mailer.rb
125
+ - lib/generators/templates/testing/driver.rb
126
+ - lib/generators/templates/testing/i18n.rb
127
+ - lib/generators/templates/testing/shoulda_matchers.rb
128
+ - lib/generators/templates/views/flashes.html.erb
129
+ - lib/install/web.rb
132
130
  - lib/suspenders.rb
133
- - lib/suspenders/actions.rb
134
- - lib/suspenders/actions/strip_comments_action.rb
135
- - lib/suspenders/adapters/heroku.rb
136
- - lib/suspenders/app_builder.rb
137
- - lib/suspenders/exit_on_failure.rb
138
- - lib/suspenders/generators/advisories_generator.rb
139
- - lib/suspenders/generators/analytics_generator.rb
140
- - lib/suspenders/generators/app_generator.rb
141
- - lib/suspenders/generators/base.rb
142
- - lib/suspenders/generators/ci_generator.rb
143
- - lib/suspenders/generators/db_optimizations_generator.rb
144
- - lib/suspenders/generators/factories_generator.rb
145
- - lib/suspenders/generators/forms_generator.rb
146
- - lib/suspenders/generators/inline_svg_generator.rb
147
- - lib/suspenders/generators/jobs_generator.rb
148
- - lib/suspenders/generators/js_driver_generator.rb
149
- - lib/suspenders/generators/json_generator.rb
150
- - lib/suspenders/generators/lint_generator.rb
151
- - lib/suspenders/generators/production/compression_generator.rb
152
- - lib/suspenders/generators/production/deployment_generator.rb
153
- - lib/suspenders/generators/production/email_generator.rb
154
- - lib/suspenders/generators/production/force_tls_generator.rb
155
- - lib/suspenders/generators/production/manifest_generator.rb
156
- - lib/suspenders/generators/production/single_redirect.rb
157
- - lib/suspenders/generators/production/timeout_generator.rb
158
- - lib/suspenders/generators/profiler_generator.rb
159
- - lib/suspenders/generators/runner_generator.rb
160
- - lib/suspenders/generators/staging/pull_requests_generator.rb
161
- - lib/suspenders/generators/static_generator.rb
162
- - lib/suspenders/generators/stylelint_generator.rb
163
- - lib/suspenders/generators/stylesheet_base_generator.rb
164
- - lib/suspenders/generators/testing_generator.rb
165
- - lib/suspenders/generators/views_generator.rb
131
+ - lib/suspenders/cleanup/generate_readme.rb
132
+ - lib/suspenders/cleanup/organize_gemfile.rb
133
+ - lib/suspenders/engine.rb
134
+ - lib/suspenders/generators.rb
135
+ - lib/suspenders/railtie.rb
166
136
  - lib/suspenders/version.rb
167
- - templates/Gemfile.erb
168
- - templates/Procfile
169
- - templates/README.md.erb
170
- - templates/_analytics.html.erb
171
- - templates/_css_overrides.html.erb
172
- - templates/_flashes.html.erb
173
- - templates/_javascript.html.erb
174
- - templates/action_mailer.rb
175
- - templates/active_job.rb
176
- - templates/application.scss
177
- - templates/bin_auto_migrate
178
- - templates/bin_deploy
179
- - templates/bin_setup
180
- - templates/bin_setup_review_app.erb
181
- - templates/bundler_audit.rake
182
- - templates/capybara_silence_puma.rb
183
- - templates/chromedriver.rb
184
- - templates/circle.yml.erb
185
- - templates/config_locales_en.yml.erb
186
- - templates/descriptions/advisories.md
187
- - templates/descriptions/analytics.md
188
- - templates/descriptions/ci.md
189
- - templates/descriptions/compression.md
190
- - templates/descriptions/db_optimizations.md
191
- - templates/descriptions/deployment.md
192
- - templates/descriptions/email.md
193
- - templates/descriptions/factories.md
194
- - templates/descriptions/force_tls.md
195
- - templates/descriptions/forms.md
196
- - templates/descriptions/inline_svg.md
197
- - templates/descriptions/jobs.md
198
- - templates/descriptions/js_driver.md
199
- - templates/descriptions/json.md
200
- - templates/descriptions/lint.md
201
- - templates/descriptions/manifest.md
202
- - templates/descriptions/profiler.md
203
- - templates/descriptions/pull_requests.md
204
- - templates/descriptions/runner.md
205
- - templates/descriptions/single_redirect.md
206
- - templates/descriptions/static.md
207
- - templates/descriptions/stylelint.md
208
- - templates/descriptions/stylesheet_base.md
209
- - templates/descriptions/testing.md
210
- - templates/descriptions/timeout.md
211
- - templates/descriptions/views.md
212
- - templates/dev.rake
213
- - templates/email.rb
214
- - templates/errors.rb
215
- - templates/factories.rb
216
- - templates/factory_bot_rspec.rb
217
- - templates/flashes_helper.rb
218
- - templates/hound.yml
219
- - templates/i18n.rb
220
- - templates/inline_svg.rb
221
- - templates/json_encoding.rb
222
- - templates/oj.rb
223
- - templates/partials/ci_simplecov.rb
224
- - templates/partials/db_optimizations_configuration.rb
225
- - templates/partials/deployment_readme.md
226
- - templates/partials/email_smtp.rb
227
- - templates/partials/profiler_readme.md
228
- - templates/partials/pull_requests_config.rb
229
- - templates/partials/runner_readme.md
230
- - templates/partials/runner_setup.rb
231
- - templates/postgresql_database.yml.erb
232
- - templates/rack_mini_profiler.rb
233
- - templates/rails_helper.rb
234
- - templates/sample_env
235
- - templates/secrets.yml
236
- - templates/shoulda_matchers_config_rspec.rb
237
- - templates/smtp.rb
238
- - templates/spec_helper.rb
239
- - templates/stylelintrc.json
240
- - templates/suspenders_gitignore
241
- - templates/suspenders_layout.html.erb.erb
137
+ - lib/tasks/suspenders.rake
242
138
  homepage: http://github.com/thoughtbot/suspenders
243
139
  licenses:
244
140
  - MIT
245
- metadata: {}
246
- post_install_message:
247
- rdoc_options:
248
- - "--charset=UTF-8"
141
+ metadata:
142
+ homepage_uri: http://github.com/thoughtbot/suspenders
143
+ source_code_uri: http://github.com/thoughtbot/suspenders
144
+ changelog_uri: https://github.com/thoughtbot/suspenders/blob/main/NEWS.md
145
+ post_install_message:
146
+ rdoc_options: []
249
147
  require_paths:
250
148
  - lib
251
149
  required_ruby_version: !ruby/object:Gem::Requirement
252
150
  requirements:
253
151
  - - ">="
254
152
  - !ruby/object:Gem::Version
255
- version: 2.7.4
153
+ version: '3.1'
256
154
  required_rubygems_version: !ruby/object:Gem::Requirement
257
155
  requirements:
258
156
  - - ">="
259
157
  - !ruby/object:Gem::Version
260
- version: 2.7.4
158
+ version: '0'
261
159
  requirements: []
262
- rubygems_version: 3.1.6
263
- signing_key:
160
+ rubygems_version: 3.5.9
161
+ signing_key:
264
162
  specification_version: 4
265
- summary: Generate a Rails app using thoughtbot's best practices.
163
+ summary: Rails generators using thoughtbot's best practices.
266
164
  test_files: []
data/.ruby-version DELETED
@@ -1 +0,0 @@
1
- 2.7.4
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/tree/master/style
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.