bulldozer 1.6.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 (108) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +5 -0
  3. data/.ruby-version +1 -0
  4. data/.travis.yml +12 -0
  5. data/CONTRIBUTING.md +59 -0
  6. data/Gemfile +3 -0
  7. data/LICENSE +21 -0
  8. data/NEWS.md +638 -0
  9. data/README.md +225 -0
  10. data/RELEASING.md +18 -0
  11. data/Rakefile +8 -0
  12. data/USAGE +13 -0
  13. data/bin/bulldozer +23 -0
  14. data/bin/rake +16 -0
  15. data/bin/rspec +16 -0
  16. data/bin/setup +13 -0
  17. data/bulldozer.gemspec +35 -0
  18. data/docker-compose.yml +8 -0
  19. data/dockerfile +11 -0
  20. data/lib/bulldozer.rb +24 -0
  21. data/lib/bulldozer/actions.rb +85 -0
  22. data/lib/bulldozer/adapters/heroku.rb +123 -0
  23. data/lib/bulldozer/app_builder.rb +321 -0
  24. data/lib/bulldozer/generators/analytics_generator.rb +24 -0
  25. data/lib/bulldozer/generators/app_generator.rb +231 -0
  26. data/lib/bulldozer/generators/base.rb +20 -0
  27. data/lib/bulldozer/generators/ci_generator.rb +22 -0
  28. data/lib/bulldozer/generators/db_optimizations_generator.rb +30 -0
  29. data/lib/bulldozer/generators/factories_generator.rb +22 -0
  30. data/lib/bulldozer/generators/forms_generator.rb +18 -0
  31. data/lib/bulldozer/generators/jobs_generator.rb +38 -0
  32. data/lib/bulldozer/generators/js_driver_generator.rb +15 -0
  33. data/lib/bulldozer/generators/json_generator.rb +10 -0
  34. data/lib/bulldozer/generators/lint_generator.rb +9 -0
  35. data/lib/bulldozer/generators/production/deployment_generator.rb +27 -0
  36. data/lib/bulldozer/generators/production/email_generator.rb +37 -0
  37. data/lib/bulldozer/generators/production/force_tls_generator.rb +11 -0
  38. data/lib/bulldozer/generators/production/manifest_generator.rb +24 -0
  39. data/lib/bulldozer/generators/production/timeout_generator.rb +21 -0
  40. data/lib/bulldozer/generators/staging/pull_requests_generator.rb +33 -0
  41. data/lib/bulldozer/generators/static_generator.rb +10 -0
  42. data/lib/bulldozer/generators/stylesheet_base_generator.rb +31 -0
  43. data/lib/bulldozer/generators/testing_generator.rb +55 -0
  44. data/lib/bulldozer/generators/views_generator.rb +30 -0
  45. data/lib/bulldozer/version.rb +8 -0
  46. data/spec/adapters/heroku_spec.rb +72 -0
  47. data/spec/fakes/bin/heroku +5 -0
  48. data/spec/fakes/bin/hub +5 -0
  49. data/spec/features/api_spec.rb +18 -0
  50. data/spec/features/cli_help_spec.rb +36 -0
  51. data/spec/features/github_spec.rb +16 -0
  52. data/spec/features/heroku_spec.rb +71 -0
  53. data/spec/features/json_spec.rb +15 -0
  54. data/spec/features/new_project_spec.rb +341 -0
  55. data/spec/features/production/deployment_spec.rb +22 -0
  56. data/spec/features/production/email_spec.rb +47 -0
  57. data/spec/features/production/manifest_spec.rb +35 -0
  58. data/spec/features/staging/pull_requests_spec.rb +22 -0
  59. data/spec/spec_helper.rb +21 -0
  60. data/spec/support/be_executable_matcher.rb +7 -0
  61. data/spec/support/bulldozer.rb +182 -0
  62. data/spec/support/contain_json_matcher.rb +24 -0
  63. data/spec/support/exist_as_a_file_matcher.rb +7 -0
  64. data/spec/support/fake_github.rb +21 -0
  65. data/spec/support/fake_heroku.rb +53 -0
  66. data/spec/support/generators.rb +5 -0
  67. data/spec/support/match_contents_matcher.rb +6 -0
  68. data/spec/support/project_files.rb +13 -0
  69. data/templates/Gemfile.erb +51 -0
  70. data/templates/Procfile +2 -0
  71. data/templates/README.md.erb +28 -0
  72. data/templates/_analytics.html.erb +8 -0
  73. data/templates/_css_overrides.html.erb +7 -0
  74. data/templates/_flashes.html.erb +7 -0
  75. data/templates/_javascript.html.erb +3 -0
  76. data/templates/action_mailer.rb +5 -0
  77. data/templates/active_job.rb +13 -0
  78. data/templates/application.scss +8 -0
  79. data/templates/bin_deploy +12 -0
  80. data/templates/bin_setup +28 -0
  81. data/templates/bin_setup_review_app.erb +22 -0
  82. data/templates/browserslist +3 -0
  83. data/templates/bulldozer_gitignore +18 -0
  84. data/templates/bulldozer_layout.html.erb.erb +21 -0
  85. data/templates/bundler_audit.rake +4 -0
  86. data/templates/chromedriver.rb +17 -0
  87. data/templates/circle.yml.erb +6 -0
  88. data/templates/config_locales_en.yml.erb +19 -0
  89. data/templates/dev.rake +12 -0
  90. data/templates/dotfiles/.ctags +2 -0
  91. data/templates/dotfiles/.env +13 -0
  92. data/templates/email.rb +3 -0
  93. data/templates/errors.rb +34 -0
  94. data/templates/factories.rb +2 -0
  95. data/templates/factory_bot_rspec.rb +5 -0
  96. data/templates/flashes_helper.rb +5 -0
  97. data/templates/hound.yml +14 -0
  98. data/templates/i18n.rb +3 -0
  99. data/templates/json_encoding.rb +1 -0
  100. data/templates/postgresql_database.yml.erb +19 -0
  101. data/templates/puma.rb +28 -0
  102. data/templates/rack_mini_profiler.rb +5 -0
  103. data/templates/rails_helper.rb +22 -0
  104. data/templates/secrets.yml +8 -0
  105. data/templates/shoulda_matchers_config_rspec.rb +6 -0
  106. data/templates/smtp.rb +9 -0
  107. data/templates/spec_helper.rb +28 -0
  108. metadata +197 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 454d52670ea7c516c49d5202447deaab249dd3e6df59d5c257525b1b34a5f4af
4
+ data.tar.gz: dcf1e6219f32673b3fa9fda7464ad8a9f02b945ac67890aa28a3eb0d5903bfcf
5
+ SHA512:
6
+ metadata.gz: b21054a99e8b21b6cee1e55a2811b576fbc46be89db5072be8a62202eb46d1eb4bd394cdcc4f5f18d88263cad36304706e3712e81ad31f2f9d0c92d99db0a26e
7
+ data.tar.gz: e77f8076dd8ce0c640e01758cd425fd7fc12829b1ab1337eb6a0c6b24780147744ce47d54e90de95d13dcbe57811868dee34dada3d12d644a74839e106437288
data/.gitignore ADDED
@@ -0,0 +1,5 @@
1
+ *.gem
2
+ *.swp
3
+ Gemfile.lock
4
+ /.bundle
5
+ /tmp
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.5.3
data/.travis.yml ADDED
@@ -0,0 +1,12 @@
1
+ language: ruby
2
+ rvm: 2.5.3
3
+ cache: bundler
4
+ sudo: false
5
+ before_install:
6
+ - git config --global user.name 'Travis CI'
7
+ - git config --global user.email 'travis-ci@example.com'
8
+ - gem update --system
9
+ - gem install bundler -v '< 2'
10
+ install: bundle install
11
+ notifications:
12
+ email: false
data/CONTRIBUTING.md ADDED
@@ -0,0 +1,59 @@
1
+ # Contributing
2
+
3
+ We love pull requests from everyone. By participating in this project, you agree
4
+ to abide by the seasoned [code of conduct].
5
+
6
+ [code of conduct]: https://seasoned.cc/open-source-code-of-conduct
7
+
8
+ Fork the repo:
9
+
10
+ git clone git@github.com:seasoned/bulldozer.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.
21
+ Write tests.
22
+ Follow our [style guide][style].
23
+ Make the tests pass:
24
+
25
+ [style]: https://github.com/SeasonedSoftware/guides/tree/master/style
26
+
27
+ rake
28
+
29
+ Mention how your changes affect the project to other developers and users in the
30
+ `NEWS.md` file.
31
+
32
+ Write a [good commit message][commit].
33
+ Push to your fork.
34
+ [Submit a pull request][pr].
35
+
36
+ [commit]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
37
+ [pr]: https://github.com/SeasonedSoftware/bulldozer/compare/
38
+
39
+ If [Hound] catches style violations,
40
+ fix them.
41
+
42
+ [hound]: https://houndci.com
43
+
44
+ Wait for us.
45
+ We try to at least comment on pull requests within one business day.
46
+ We may suggest changes.
47
+
48
+ ## Versions
49
+
50
+ To update the Ruby version,
51
+ change `.ruby-version` and `.travis.yml`.
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/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License
2
+
3
+ Copyright (c) 2018-2019 seasoned, 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.
data/NEWS.md ADDED
@@ -0,0 +1,638 @@
1
+ 1.6.0 (March 01, 2019)
2
+
3
+ * Rename Project to bulldozer
4
+ * All commands now will change from `suspenders` to `bulldozer`
5
+
6
+ 1.50.0 (December 28, 2018)
7
+
8
+ * Removed: jquery-rails.
9
+ * Changed: default FactoryBot to `use_parent_strategy = true`.
10
+ * Upgraded: Ruby 2.5.3.
11
+ * Fixed: set `ASSET_HOST` and `APPLICATION_HOST` at top of `production.rb`.
12
+ * Fixed: `tzinfo-data` gem for Windows.
13
+ * New generator: `suspenders:json` for JSON parsing.
14
+ * New generator: `suspenders:staging:pull_requests` for Heroku app per PR.
15
+
16
+ 1.49.0 (October 19, 2018)
17
+
18
+ * Removed: NOODP robots meta tags
19
+ * Removed: flutie gem and body class in application layout
20
+ * Upgraded: remove version constraint for pg gem
21
+ * Fixed: install JavaScript dependencies in bin/setup
22
+ * Fixed: include action_mailer SMTP settings in production config
23
+
24
+ 1.48.0 (August 10, 2018)
25
+
26
+ * Bug fix: change production timeouts generator to use working configuration
27
+ method with latest version of Rack::Timeout
28
+ * Bug fix: Only add email environment requirements if configuring for email
29
+ * Breaking: Replace capybara-webkit with chromedriver
30
+
31
+ 1.47.0 (May 25, 2018)
32
+
33
+ * Bug fix: normalize.css Sass import is concatenated with other styles now
34
+ * Bug fix: the suspenders gem itself is not needed in production
35
+ * Bug fix: bundle install after adding a gem
36
+ * Breaking: remove Refills
37
+ * Breaking: rename suspenders:enforce_ssl to suspenders:production:force_tls
38
+ * Upgrade: update to Ruby 2.5.1
39
+ * Upgrade: update to Rails 5.2.0
40
+ * New generator: production email
41
+ * New generator: production timeouts
42
+
43
+ 1.46.0 (January 26, 2018)
44
+
45
+ * Bug fix: Fix for action mailer asset_host
46
+ * Bug fix: Lock pg to ~> 0.18
47
+ * Breaking: Remove Database Cleaner
48
+ * Upgrade: Update to Rails 5.1.4
49
+ * Upgrade: Update to Ruby 2.5.0
50
+ * Upgrade: Update bourbon from 5.0.0.beta.8 to 5.0.0
51
+ * Upgrade: Update FactoryGirl to FactoryBot
52
+ * Generators: Analytics generator
53
+ * Generators: CI generator
54
+ * Generators: DB optimization generator
55
+ * Generators: Factories generator
56
+ * Generators: Forms generator
57
+ * Generators: Javascript driver generator
58
+ * Generators: Jobs generator
59
+ * Generators: Lint generator
60
+ * Generators: Testing driver generator
61
+ * Generators: Views generator
62
+
63
+ 1.45.0 (September 8, 2017)
64
+
65
+ * Bump Rails to 5.1.3 (#857)
66
+ * Configure HONEYBADGER_ENV for staging, production (#861)
67
+ * Remove vestigial `staging` references (#860)
68
+ * Prevent memory bloat in ActiveJob children (#856)
69
+ * .git/safe is opt-in (#837)
70
+ * Enforce SSL in production environment (#855)
71
+ * Configures action mailer asset host (#853)
72
+ * Install normalize.css via yarn (#851)
73
+ * Update Rails to 5.1 (#847)
74
+ * Update bourbon from 5.0.0.beta.7 to 5.0.0.beta.8 (#848)
75
+ * Update Neat to 2.1 (#849)
76
+ * Update Bitters to 1.7 (#850)
77
+ * Fix incorrect Timecop link (#845)
78
+ * Update Ruby to 2.4.1 (#841)
79
+ * Update rspec-rails to 3.6 (#842)
80
+ * Configure TimeCop safe mode (#840)
81
+ * Pull normalize.css through Rails Assets (#839)
82
+ * Fix fatal git failures in tests (#832)
83
+ * Schedule Heroku Backups and Capture backup of existing staging database for
84
+ Review Apps (#826)
85
+ * Use bundle-audit rake task from the gem (#831)
86
+ * Update Thughtbot logo (#829)
87
+ * Change terminal symbol in README's deploying section (#828)
88
+ * Update Segment snippet to 4.0.0 (#822)
89
+
90
+ 1.44.0 (January 25, 2017)
91
+
92
+ * Improve readability of `bin/setup-review-app` (#819)
93
+ * Update scripts to be `sh`-compatible (#820)
94
+ * Remove `rails_stdout_logging` gem (#818)
95
+ * Remove `12factor` gem (#817)
96
+ * Update Ruby to 2.4.0 (#814)
97
+
98
+ 1.43.0 (November 8, 2016)
99
+
100
+ * Update Bourbon to 5.0.0.beta.7
101
+ * Update Neat to 2.0.0.beta.1
102
+ * Update Bitters to 1.5.0
103
+ * Drop sprockets-es6
104
+ * Bugfix: doesn’t generate unused `test/` directory
105
+
106
+ 1.42.0 (July 23, 2016)
107
+
108
+ * [#784] Require refills once
109
+ * [#790] Ensure stylesheet_base generator runs with a clean bundle
110
+ * [#791] Use Rails' 5 syntax for `public_file_server.headers`
111
+ * [#792] Remove turbolinks from application.js file
112
+
113
+ 1.41.0 (July 1, 2016)
114
+
115
+ * Update to Rails 5
116
+ * Drop quiet_assets
117
+ * Drop unneeded `suspenders` aliases: `--skip-test-unit`, `--skip-turbolinks`,
118
+ `--skip-bundle`. Drops `-G` that clashes with Rails’ `--skip-git` alias.
119
+
120
+ 1.40.0 (June 25, 2016)
121
+
122
+ * Upgrade bourbon to 5.0.0.beta.6
123
+ * Update Neat to 1.8.0
124
+ * `APPLICATION_HOST` bug fix in production environment (was used before it was
125
+ defined)
126
+ * Update comment around Pipelines: it is now a Heroku core plugin
127
+ * Drop unneeded `WEB_CONCURRENCY` from `app.json` file
128
+ * Introduce a `suspenders:stylesheet_base` generator. The `application.scss`
129
+ must list the imports in a specific order. This removes the `application.css`.
130
+
131
+ 1.39.0 (May 25, 2016)
132
+
133
+ * Update to Ruby 2.3.1
134
+ * Make new apps "deployable to Heroku" by default.
135
+ * Make the help text returned when running `suspenders -h` suspenders specific
136
+ * Bugfix: Configure `static_cache_control` in production environment
137
+ * Replace NewRelic with Skylight
138
+ * Drop initializer for disabling XML parser
139
+ * Start moving suspenders features into different Rails Generators
140
+ * Set default `application_host` in Heroku
141
+ * Update the viewport meta tag
142
+
143
+ 1.38.1 (April 20, 2016)
144
+
145
+ * Bugfix: add bitters as suspenders’ dependency back.
146
+
147
+ 1.38.0 (April 15, 2016)
148
+
149
+ * Update bourbon to `v5.0.0.beta.5`
150
+ * Drops staging environment in favor of configuration through env variables
151
+ * Bugfix: failing migrations were not making Heroku deploys fail
152
+
153
+ 1.37.0 (March 13, 2016)
154
+
155
+ * Remove `RAILS_ENV` definitions
156
+ * Set development `action_mailer.delivery_method` to `:file`
157
+ so that mails are copied to `./tmp/mails/` directory for easy development
158
+ access.
159
+ * Update Bourbon to v5.0.0.beta.3
160
+ * Update Bitters to v1.3
161
+ * Update Autoprefixer config, drop support for IE 9, IE 10 and iOS 7
162
+ * Better db support in linux environments
163
+ * Replaces coffeescript with babel
164
+ * Update CSS tests to ignore transitions
165
+
166
+ 1.36.0 (February 26, 2016)
167
+
168
+ * Update Bitters to v1.2
169
+ * Remove deprecated `fix_i18n_deprecation_warning` method
170
+ * Switch from Airbrake to Honeybadger
171
+ * Generate applications with `rack_mini_profiler` (disabled by default, enabled
172
+ by setting `RACK_MINI_PROFILER=1`)
173
+ * Heroku Pipelines bug fixes
174
+
175
+ 1.35.0 (December 30, 2015)
176
+
177
+ * Introduce Heroku Pipelines support
178
+ * Update to Ruby 2.3.0
179
+ * Heroku commands run on staging by default
180
+ * Git ignore `.env.local` instead of `.env`
181
+ * Add ability to use byebug navigation commands inside of Pry using the
182
+ `pry-byebug` gem
183
+ * Remove `i18n-tasks` from generated Gemfile
184
+ * Accessibility: Add `lang` attribute to `html` element in layout
185
+
186
+ 1.34.0 (November 15, 2015)
187
+
188
+ * Fix `block_unknown_urls` deprecation warning with capybara_webkit when running
189
+ Javascript tests
190
+ * Inherit staging's `action_mailer_host` config from production
191
+ * suspenders command line responds to `-v` and `--version` options
192
+ * Clean up `bin/rake`
193
+ * Remove `email_validator` gem from generated Gemfile
194
+ * Fix Circle deploys by removing redundant remote
195
+ * Add `bullet` as development dependency
196
+ * Use Heroku Local (Forego) instead of Foreman
197
+ * Raise on missing Sprockets assets in test environment
198
+
199
+ 1.33.0 (October 23, 2015)
200
+
201
+ * Add `quiet_assets` as development dependency
202
+ * Reduce number of Puma processes and threads to reduce memory usage
203
+ * Move non-runtime-dependency i18n-tasks to development and test Gemfile groups
204
+ * Move non-runtime-dependency refills to the development Gemfile group
205
+ * Generate empty `spec/factories.rb` file in accordance with Thughtbot’s
206
+ styleguide
207
+ * Shoulda Matchers 3.0 configuration
208
+
209
+ 1.32.0 (October 9, 2015)
210
+
211
+ * Install Foreman automatically during setup script
212
+ * Port always defaults to 3000
213
+ * Provide shoulda-matchers config
214
+ * Set CI auto-deploy for Heroku suspended apps
215
+ * Configure capybara-webkit to block unknown URLs
216
+ * Add mandatory environment variables to .sample.env
217
+ * Other bugfixes
218
+
219
+ 1.31.0 (September 3, 2015)
220
+
221
+ * Update to Ruby 2.2.3
222
+ * Add ctags configuration dotfile
223
+ * Rename `$HOST` to `$APPLICATION_HOST` for zsh compatibility
224
+ * Update Bitters to 1.1
225
+ * Remove comments and newlines in config files
226
+ * Abort tests run if `DATABASE_URL` env variable is set
227
+
228
+ 1.30.0 (July 30, 2015)
229
+
230
+ * Update to RSpec 3.3
231
+ * Replace TravisCI with CircleCI
232
+ * Rename development data concept to avoid confusion with db/seeds
233
+ * Remove Unicorn in favor of Puma, as [recommended by Heroku]
234
+
235
+ [recommended by Heroku]: https://devcenter.heroku.com/changelog-items/594
236
+
237
+ 1.29.0 (June 16, 2015)
238
+
239
+ * Generate rake, rails and rspec binstubs with Spring
240
+ * Remove Capybara and use RSpec 3.2 for development
241
+ * Improves suspenders' test suite speed
242
+ * Refills `flashes.scss` bugfix
243
+
244
+ 1.28.0 (May 9, 2015)
245
+
246
+ * Require spec/support files in a certain order
247
+ * Use rack-canonical-host
248
+ * Swap `id="flash"` for `class="flashes"` in `_flashes.html.erb`
249
+ * Provide EXECJS_RUNTIME env variable (Node, as in Heroku)
250
+ * Removes .css file suffix from application stylesheet
251
+ * Add mention of Autoprefixer Rails gem to readme
252
+ * Use ruby 2.2.2
253
+ * Update gems
254
+
255
+ 1.27.0 (April 10, 2015)
256
+
257
+ * Add Autoprefixer and browserslist config file
258
+ * Only display user-facing flashes
259
+ * Add code of conduct to CONTRIBUTING document
260
+ * Only use rack-timeout in staging and production
261
+ * Add SimpleCov
262
+ * Avoid generation of extra _flashes view
263
+ * Fix Travis CI install step
264
+ * Cache bundle in Travis CI runs
265
+
266
+ 1.26.0 (March 23, 2015)
267
+
268
+ * Update Rails to 4.2.1
269
+ * Update Bitters to 1.0
270
+ * Fix .ruby-version (should have been 2.1.1)
271
+ * Enable `verify_partial_doubles`
272
+ * Renames Segment.io to Segment
273
+ * Removes New Relic unnecessary configuration setting
274
+
275
+ 1.25.0 (March 7, 2015)
276
+
277
+ * Configure Active Job queue adapter for test env
278
+ * Use Ruby 2.2.1 (bug: `.ruby-version` wasn’t updated in the package)
279
+ * Dasherize heroku app names
280
+ * Update Bourbon to 4.2.0
281
+ * Add ASSET_HOST to sample.env (defaults to HOST)
282
+ * Set bin/deploy script as executable
283
+ * Set email deliver method to :test for development
284
+ * Include missing word in the Flutie description in README.
285
+ * Remove unused dev gems: aruba & cucumber
286
+ * Use skip_bundle class_option (rather than defining an empty run_bundle method)
287
+
288
+ 1.24.0 (February 3, 2015)
289
+
290
+ * Remove things in suspenders that Rails does for us now.
291
+ * Document how to use the `title` view helper.
292
+ * Improve speed of bundling in `bin/setup` script.
293
+ * Set ENV variable to make out-of-the-box Heroku static asset experience better.
294
+
295
+ 1.23.0 (January 19, 2015)
296
+
297
+ * Use Bourbon 4.1.0.
298
+ * Use Neat 1.7.0.
299
+ * Remove [parameter wrapping] for every format, including JSON.
300
+ * Turn off TravisCI email notifications for Suspended apps.
301
+ * Run `rake dev:prime` on CI in order to test
302
+ whether `bin/setup` has any regressions.
303
+ * Fix `config.action_mailer.default_url_options`'s value.
304
+ It now correctly uses `ENV.fetch("HOST")` in staging
305
+ and production.
306
+
307
+ [parameter wrapping]: http://api.rubyonrails.org/classes/ActionController/ParamsWrapper.html
308
+
309
+ 1.22.0 (January 11, 2015)
310
+
311
+ * Allow additional
312
+ [Heroku flags](https://github.com/ThughtbotSoftware/suspenders#heroku)
313
+ such as `--addons` and `--region`.
314
+ * Use RSpec 3.1.0.
315
+ * Use Travis' new Docker container infrastructure
316
+ for builds that start sooner and run faster.
317
+ * Improve SMTP and ActionMailer default settings.
318
+
319
+ 1.21.0 (January 4, 2015)
320
+
321
+ * Use Ruby 2.2.0.
322
+ * Use Rails 4.2.0.
323
+ * Install [Refills] and Refills' "flashes" component.
324
+ * Add `bin/deploy` script.
325
+
326
+ [Refills]: http://refills.bourbon.io/components/#flashes
327
+
328
+ 1.20.0 (November 25, 2014)
329
+
330
+ * Use Ruby 2.1.5.
331
+ * Use bin/setup from TravisCI to test executable documentation.
332
+ * Default JSON time format to use ISO8601 to match Heroku API Design Guide.
333
+ * Add Bundler Audit to scan Gemfile for insecure dependencies per CVEs.
334
+
335
+ 1.19.0 (November 23, 2014)
336
+
337
+ * Use Ruby 2.1.4.
338
+ * Use Rails 4.1.8.
339
+ * Add Bundler Audit gem for scanning the Gemfile
340
+ for insecure dependencies based on published CVEs.
341
+ * Use Heroku-recommended timeout numbers.
342
+ * [Improve memory] of app on Heroku with New Relic.
343
+ * Turn off RSpec verbose mode by default.
344
+
345
+ [Improve memory]: http://forum.upcase.com/t/how-to-free-up-swap-space-heroku/3017/13?u=croaky
346
+
347
+ 1.18.0 (October 23, 2014)
348
+
349
+ * Use Ruby 2.1.3.
350
+ * Move New Relic to all gem groups to more easily
351
+ [debug Rails performance in development][debug-performance].
352
+ * Make `bin/setup` idempotent, failing fast with install messages.
353
+ * Fix unevaluated app name in generated `en.yml` locale file.
354
+ * Change `File.exists?` to `File.exist?` to fix Ruby warning.
355
+ * Don't include port 6000 as an option for Foreman; Chome considers it unsafe.
356
+ * Git ignore the entire /tmp directory.
357
+
358
+ [debug-performance]: https://upcase.com/improving-rails-performance
359
+
360
+ 1.17.0 (September 30, 2014)
361
+
362
+ * Use Rails 4.1.6.
363
+ * Generate a `spec/rails_helper.rb` and `spec/spec_helper.rb` following
364
+ RSpec 3.x's example, but using our defaults.
365
+ * Raise on missing i18n translations in test environment.
366
+ * Raise on unpermitted parameters in test environment.
367
+ * Provide example for using Title gem for internationalizing page title text.
368
+
369
+ 1.16.0 (August 16, 2014)
370
+
371
+ * Use the 3.x series of RSpec.
372
+ * Use the 0.10.x series of Bitters.
373
+ * Improve documentation in generated README for machine setup via `bin/setup`
374
+ and https://github.com/ThughtbotSoftware/laptop script.
375
+ * Remove Foreman from `Gemfile`.
376
+ * Use i18n-tasks for missing or unused translations.
377
+ * Raise on missing translations in development environment. Fail fast!
378
+ * Prevent empty div when there are no flashes.
379
+ * Pick random port when generating Rails app so multiple apps can be run via
380
+ Foreman on a development machine at the same time.
381
+ * Add `normalize-rails` gem for resetting browser styles.
382
+
383
+ 1.15.0 (July 9, 2014)
384
+
385
+ * Use Rails 4.1.4.
386
+ * Use latest Thughtbot style guidelines in generated code so that
387
+ https://houndci.com will approve the initial commit.
388
+ * Remove Campfire in favor of Slack.
389
+ * Remove Pow in bin/setup.
390
+ * Upgrade Capybara Webkit to support Capybara 2.3 API.
391
+ * Add byebug.
392
+
393
+ 1.14.0 (June 11, 2014)
394
+
395
+ * Set up Bitters during suspenders setup. http://bitters.bourbon.io/
396
+ * Remove SimpleCov.
397
+ * Force suspenders to use a particular Rails version (4.1.1).
398
+ * Use RSpec 2.x until Travis/Capybara issues resolve.
399
+ * Set `viewport` to `initial-scale=1`.
400
+
401
+ 1.13.0 (May 29, 2014)
402
+
403
+ * Remove `FactoryGirl.lint` in `before(:suite)` in order to avoid paying and
404
+ estimated extra ~300ms load time on a typical Thughtbot app.
405
+ * Automatically join Heroku app in `bin/setup` if using Heroku organizations.
406
+
407
+ 1.12.0 (May 26, 2014)
408
+
409
+ * Fix `rake dev:prime` now that suspenders-generated apps require some `ENV`
410
+ variables to be set.
411
+ * Ensure `EMAIL_RECIPIENTS` is set on staging.
412
+ * Clear `ActionMailer` deliveries before every test.
413
+ * Include New Relic configuration file.
414
+ * Add Formulaic gem for integration testing HTML forms.
415
+ * Set up the Segment.io adapter for analytics and event tracking through
416
+ services such as Google Analytics and Intercom.
417
+ * Prepare staging and production environments to serve static assets through a
418
+ CDN.
419
+
420
+ 1.11.0 (May 17, 2014)
421
+
422
+ * Generate a Rails 4.1.1 app and implement fixes for compatibility.
423
+ * Escape ERb in secrets.yml
424
+ * Maintain ActiveRecord test schema.
425
+ * Make Shoulda Matchers work with Spring.
426
+ * Unify Ruby version for gem and suspended apps.
427
+ * Move SMTP variable settings out of initializer.
428
+ * Connect to Postgres on localhost.
429
+ * Add `bin/setup` for contributors.
430
+ * Improve and document TravisCI configuration.
431
+
432
+ 1.10.2 (April 28, 2014)
433
+
434
+ * Fix bundling Bourbon and Neat.
435
+
436
+ 1.10.1 (April 25, 2014)
437
+
438
+ * Fix bundling sass-rails.
439
+
440
+ 1.10.0 (April 21, 2014)
441
+
442
+ * Generate a Rails 4.1 app.
443
+ * Generate a working .ruby-version for Ruby >= 2.1.0.
444
+ * Update Unicorn template to version now preferred by Heroku.
445
+
446
+ 1.9.3 (April 13, 2014)
447
+
448
+ * Use FactoryGirl.lint instead of custom-generated factory-testing code.
449
+ * Fix Delayed::Job <-> Rails 4.1 dependency conflict.
450
+
451
+ 1.9.2 (April 10, 2014)
452
+
453
+ * Join Heroku apps in bin/setup.
454
+ * Enable SMTP/TLS in SMTP settings.
455
+ * Silence an RSpec warning.
456
+
457
+ 1.9.1 (April 7, 2014)
458
+
459
+ * Fix sass-rails environment NilClass error.
460
+
461
+ 1.9.0 (March 24, 2014)
462
+
463
+ * Add `awesome_print` gem.
464
+ * Add `dev:prime` task placeholder for bootstrapping local dev data.
465
+ * Add fix for I18n deprecation warning from `enforce_available_locales`.
466
+ * Add generated `.travis.yml`.
467
+ * Remove `better_errors` because of issues with Unicorn.
468
+ * Remove fast-failing for RSpec; respect user's `~/.rspec` instead.
469
+ * Update New Relic agent.
470
+ * Update Rails to 4.0.3.
471
+
472
+ 1.8.1 (February 19, 2014)
473
+
474
+ * Don't distribute rspec binstub with gem.
475
+
476
+ 1.8.0 (February 18, 2014)
477
+
478
+ * Make the .git/safe directory in bin/setup.
479
+ * Require `rails_12factor` gem only on Heroku.
480
+ * Require mailer config on staging and production.
481
+ * Add rspec binstub.
482
+ * Fix .ruby-version on Ruby 2.1.0.
483
+ * Replace Flutie's `page_title` with `title` gem.
484
+ * Don't run factory specs twice.
485
+ * Inherit staging config from production.
486
+ * Internal: convert tests from Cucumber to RSpec.
487
+ * Don't include `prefilled_input.js`.
488
+ * Fix Rack class name - Deflater instead of Timeout.
489
+ * Add Pry Rails.
490
+ * Add Spring.
491
+ * Add Dotenv to development and test environments to load environment variables
492
+ from the `.env` file.
493
+ * Reduce ActiveRecord connection pool from 5 to 2.
494
+
495
+ 1.7.0 (December 6, 2013)
496
+
497
+ * Keep `db/schema.rb` under version control.
498
+ * Fast-fail if any part of `bin/setup` fails.
499
+ * Move secret key out of version control.
500
+ * Create `.ruby-version` in generated applications.
501
+ * Add placeholder modules and directories for feature specs.
502
+ * Improve README to include setup instructions.
503
+
504
+ 1.6.0 (November 28, 2013)
505
+
506
+ * Do not create `.rspec` file as the settings are not project-specific.
507
+ * Generate RSpec binstub at `bin/rspec`.
508
+ * Fix stylesheet error on 500, 404, and 422 static pages.
509
+ * Add `--skip-git` option.
510
+ * Disable jQuery animations in Rails integration tests that execute JavaScript.
511
+ * Fix git remote bug.
512
+ * Add `Rack::Deflater` to compress responses with Gzip.
513
+
514
+ 1.5.1 (September 10, 2013)
515
+
516
+ * Remove Turbolinks.
517
+ * Don't use Bundler's binstubs in `bin/setup`.
518
+ * Remove `--drb` now that we aren't using Spork.
519
+ * Set up DNS via Pow for development.
520
+ * Update gem versions.
521
+
522
+ 1.5.0 (August 3, 2013)
523
+
524
+ * Add Neat.
525
+ * Replace Bourne with RSpec Mocks.
526
+ * Replace Sham Rack with WebMock.
527
+ * Remove dependency on `hub` gem.
528
+ * Clean up leftover Rails 3 conventions.
529
+
530
+ 1.4.0 (July 21, 2013)
531
+
532
+ * Support Rails 4.
533
+ * Support Ruby 2.
534
+ * Remove jQuery UI.
535
+ * Factories spec works for non-ActiveRecord objects.
536
+ * Use New Relic RPM gem >= 3.5.7 for Heroku request queue accuracy.
537
+ * Abort RSpec runs on first failure.
538
+ * Replace custom email validator with gem.
539
+
540
+ 1.3.0 (May 13, 2013)
541
+
542
+ * Switch web server from Thin to Unicorn
543
+ * Set up database before setting up RSpec so that the rspec:install task works
544
+ * Add Delayed::Job
545
+ * Clean up cruft from ActionMailer delivery configuration
546
+ * strong_parameters now raises an error in development
547
+ * Enforce Ruby 1.9.2+ in the gemspec
548
+
549
+ 1.2.2 (March 14, 2013)
550
+
551
+ * Fix Syntax error in staging/production environment config files.
552
+ * Make Factory Girl available to development environment for generators and
553
+ `rails console`.
554
+
555
+ 1.2.1 (February 28, 2013)
556
+
557
+ * Use Ruby 1.9.3 and 2.0
558
+ * Update staging and production email delivery
559
+ * Remove Spork and Guard
560
+ * Add better_errors and binding_of_caller gems
561
+ * Fix ActiveRecord attributes' blacklist
562
+ * Add Flutie to Gemfile
563
+
564
+ 1.2.0 (February 13, 2013)
565
+
566
+ * Upgrade Rails from 3.2.8 to 3.2.12 to keep pace with security patches.
567
+ * Improve staging environment on Heroku with staging `ENV` variables and
568
+ overriding the recipient in staging email delivery.
569
+ * Remove Flutie, use Bourbon.
570
+ * Wrap all HTTP requests in a 5 second timeout.
571
+ * Don't use `attr_accessible` whitelists. Instead, configure Strong Parameters.
572
+ * Provide a `bin/setup` script.
573
+ * Force RSpec's `expect` syntax.
574
+ * Remove remaining references to Cucumber, complete RSpec + Capybara conversion.
575
+ * Improve Foreman/`.env`/`Procfile` interactions.
576
+
577
+ 1.1.5 (October 22, 2012)
578
+
579
+ * Ignore `.env`.
580
+ * Link to Thughtbot/guides in generated README.
581
+ * Remove Cucumber in favor of RSpec + Capybara.
582
+ * Deliver emails in staging environment to an overriden email or set of emails.
583
+ * Encode database as UTF8.
584
+ * Bundle with binstubs using 37signals' directory convention.
585
+ * Configure time formats using localization.
586
+ * Add Ruby version to Gemfile.
587
+ * Add fast-failing spec that tests validity of factories.
588
+ * Use SimpleCov for C0 coverage.
589
+ * Configure RSpec with `--profile` flag to find slow-running specs.
590
+
591
+ 1.1.4 (September 4, 2012)
592
+
593
+ * Always store UTC in the DB.
594
+ * Use Rails 3.2.8.
595
+
596
+ 1.1.3 (August 7, 2012)
597
+
598
+ * Fix broken Gemfile additions where capybara stole cucumber's `require: false`
599
+
600
+ 1.1.2 (August 6, 2012)
601
+
602
+ * Fix broken rake.
603
+ * Use Heroku-compliant asset pipeline settings.
604
+
605
+ 1.1.1 (August 3, 2012)
606
+
607
+ * Fix broken newline interpolation
608
+
609
+ 1.1.0 (August 3, 2012)
610
+
611
+ * Add --github option.
612
+ * Add --webkit option.
613
+ * Remove cruft when generating controllers.
614
+ * Add Spork and Guard.
615
+
616
+ 1.0.1 (August 2, 2012)
617
+
618
+ * Fix broken install on Ruby 1.8.
619
+ * Remove db/schema.rb from .gitignore.
620
+ * Remove Factory Girl step definitions.
621
+
622
+ 1.0.0 (June 29, 2012)
623
+
624
+ * Ignore `bin/`, `.rake_tasks`, `.bundle/`, and `.gem/`.
625
+ * Create a root route only with `--clearance`.
626
+ * Do not autocommit after generate.
627
+ * Style static error pages.
628
+ * Cucumber requires everything under `features/`, regardless of pwd.
629
+ * Added gems:
630
+ * `foreman`
631
+ * `therubyracer`
632
+ * Removed gems:
633
+ * `copycopter_client`
634
+ * `heroku`
635
+ * `ruby-debug`
636
+ * `sass`
637
+ * `sprockets-redirect`
638
+ * `email_spec`