`bin/setup` script to bootstrap applications. #15189

Merged
merged 1 commit into from May 30, 2014

Conversation

Projects
None yet
@senny
Member

senny commented May 20, 2014

This is a first draft to collect feedback.

About

While this script does not perform much work out of the box, the idea is to have a starting point to add your own setup code. Having an automated way to bootstrap your application saves not only time but also serves as verifiable documentation. By default the script does:

  • bundle install
  • bin/rake db:setup

To encourage users to modify it, I included some suggestions what you might want to do.

Example

This Gist shows the output of the script for a newly generated application. Database setup fails because there is no schema present.

Work

  • document, where should this convention be documented?

@senny senny added the railties label May 20, 2014

@pftg

This comment has been minimized.

Show comment
Hide comment
@pftg

pftg May 20, 2014

Contributor

👍

Contributor

pftg commented May 20, 2014

👍

@sgrif

This comment has been minimized.

Show comment
Hide comment
@sgrif

sgrif May 20, 2014

Member

Generated README seems like it'd be a good place to document it.

Member

sgrif commented May 20, 2014

Generated README seems like it'd be a good place to document it.

@rafaelfranca

This comment has been minimized.

Show comment
Hide comment
@rafaelfranca

rafaelfranca May 20, 2014

Member

Yes. I usually put on the README in my applications

Member

rafaelfranca commented May 20, 2014

Yes. I usually put on the README in my applications

@senny

This comment has been minimized.

Show comment
Hide comment
@senny

senny May 20, 2014

Member

I thought about the README. However I noticed that we don't document any conventions there at all. For example bin/rake for running tests. Should we add that as well?

Member

senny commented May 20, 2014

I thought about the README. However I noticed that we don't document any conventions there at all. For example bin/rake for running tests. Should we add that as well?

@rafaelfranca

This comment has been minimized.

Show comment
Hide comment
@rafaelfranca

rafaelfranca May 20, 2014

Member

Not sure. @fxn is the best person to talk about documentation.

Member

rafaelfranca commented May 20, 2014

Not sure. @fxn is the best person to talk about documentation.

+ # This script is a starting point to setup your application.
+ # Add necessary setup steps to this file:
+
+ puts "== Installing dependencies =="

This comment has been minimized.

@dhh

dhh May 22, 2014

Member

Before even this, we should install bundler.

@dhh

dhh May 22, 2014

Member

Before even this, we should install bundler.

+ # system "rm -rf tmp/cache"
+
+ # puts "== Restart application server =="
+ # system "touch tmp/restart.txt"

This comment has been minimized.

@dhh

dhh May 22, 2014

Member

Uncomment. I'd say this should just be there by default.

@dhh

dhh May 22, 2014

Member

Uncomment. I'd say this should just be there by default.

+ puts "\n== Database setup =="
+ system "bin/rake db:setup"
+
+ # puts "== Remove old logs and tempfiles =="

This comment has been minimized.

@dhh

dhh May 22, 2014

Member

I'd uncomment these by default too.

@dhh

dhh May 22, 2014

Member

I'd uncomment these by default too.

@dhh

This comment has been minimized.

Show comment
Hide comment
@dhh

dhh May 22, 2014

Member

How are we dealing with error output? Will calling system show STDOUT stuff?

Member

dhh commented May 22, 2014

How are we dealing with error output? Will calling system show STDOUT stuff?

@dhh

This comment has been minimized.

Show comment
Hide comment
@dhh

dhh May 22, 2014

Member

Otherwise I think this is a good start. We can merge it in.

Member

dhh commented May 22, 2014

Otherwise I think this is a good start. We can merge it in.

@senny

This comment has been minimized.

Show comment
Hide comment
@senny

senny May 22, 2014

Member

@dhh system does show the STDOUT.

Member

senny commented May 22, 2014

@dhh system does show the STDOUT.

@fxn

This comment has been minimized.

Show comment
Hide comment
@fxn

fxn May 22, 2014

Member

Why does the script use pathname instead of a string?

Member

fxn commented May 22, 2014

Why does the script use pathname instead of a string?

@fxn

This comment has been minimized.

Show comment
Hide comment
@fxn

fxn May 22, 2014

Member

Re: documenting this convention.

The generated README is a meta-README https://github.com/senny/rails/blob/bin/setup/railties/lib/rails/generators/rails/app/templates/README.rdoc.

READMEs depend so much on the project that I find hard that we can write anything specific and more helpful than that, although if anyone feels inspired and wants to give it a shot please feel free.

That was also why I was skeptical about bin/setup, it is a convention for just one in a number of steps whose content is too dependant on the project... going to be hard to settle on any initial contents there.

Member

fxn commented May 22, 2014

Re: documenting this convention.

The generated README is a meta-README https://github.com/senny/rails/blob/bin/setup/railties/lib/rails/generators/rails/app/templates/README.rdoc.

READMEs depend so much on the project that I find hard that we can write anything specific and more helpful than that, although if anyone feels inspired and wants to give it a shot please feel free.

That was also why I was skeptical about bin/setup, it is a convention for just one in a number of steps whose content is too dependant on the project... going to be hard to settle on any initial contents there.

@senny

This comment has been minimized.

Show comment
Hide comment
@senny

senny May 22, 2014

Member

@fxn I see the script as a starting point. Many operations will involve paths and Pathname is easy to work with. Also, Rails usually returns Pathname objects (eg. Rails.root).

Member

senny commented May 22, 2014

@fxn I see the script as a starting point. Many operations will involve paths and Pathname is easy to work with. Also, Rails usually returns Pathname objects (eg. Rails.root).

@fxn

This comment has been minimized.

Show comment
Hide comment
@fxn

fxn May 22, 2014

Member

Well, in my scripting I never use pathnames, string interpolation works for me and it is simple. No big deal though, not worth discussing it.

Member

fxn commented May 22, 2014

Well, in my scripting I never use pathnames, string interpolation works for me and it is simple. No big deal though, not worth discussing it.

@senny

This comment has been minimized.

Show comment
Hide comment
@senny

senny May 22, 2014

Member

@dhh uncommented the sections you proposed and added gem install bundler --conservative to make sure bundler is available.

Member

senny commented May 22, 2014

@dhh uncommented the sections you proposed and added gem install bundler --conservative to make sure bundler is available.

+ # puts "\n== Copying sample files =="
+ # unless File.exists?("config/database.yml")
+ # system "cp config/database.yml.sample config/database.yml"
+ # end

This comment has been minimized.

@arthurnn

arthurnn May 22, 2014

Member

why do we wanna include this? at least the apps I worked with 10% of them needed to copy a database.yml.sample , wondering if adding this will make starters life harder?

@arthurnn

arthurnn May 22, 2014

Member

why do we wanna include this? at least the apps I worked with 10% of them needed to copy a database.yml.sample , wondering if adding this will make starters life harder?

This comment has been minimized.

@senny

senny May 22, 2014

Member

It's commented out as a suggestion. We have some projects where this is needed.

@senny

senny May 22, 2014

Member

It's commented out as a suggestion. We have some projects where this is needed.

This comment has been minimized.

@dhh

dhh May 22, 2014

Member

Actually, I’d kill this. We have the secrets.yml now. So everyone is supposed to checkin database.yml.

On May 22, 2014, at 5:45 PM, Yves Senn notifications@github.com wrote:

In railties/lib/rails/generators/rails/app/templates/bin/setup:

+# path to your application root.
+APP_ROOT = Pathname.new File.expand_path('../../', FILE)
+
+Dir.chdir APP_ROOT do

  • This script is a starting point to setup your application.

  • Add necessary setup steps to this file:

  • puts "== Installing dependencies =="
  • system "gem install bundler --conservative"
  • system "bundle install"
  • puts "\n== Copying sample files =="

  • unless File.exists?("config/database.yml")

  • system "cp config/database.yml.sample config/database.yml"

  • end

It's commented out as a suggestion. We have some projects where this is needed.


Reply to this email directly or view it on GitHub.

@dhh

dhh May 22, 2014

Member

Actually, I’d kill this. We have the secrets.yml now. So everyone is supposed to checkin database.yml.

On May 22, 2014, at 5:45 PM, Yves Senn notifications@github.com wrote:

In railties/lib/rails/generators/rails/app/templates/bin/setup:

+# path to your application root.
+APP_ROOT = Pathname.new File.expand_path('../../', FILE)
+
+Dir.chdir APP_ROOT do

  • This script is a starting point to setup your application.

  • Add necessary setup steps to this file:

  • puts "== Installing dependencies =="
  • system "gem install bundler --conservative"
  • system "bundle install"
  • puts "\n== Copying sample files =="

  • unless File.exists?("config/database.yml")

  • system "cp config/database.yml.sample config/database.yml"

  • end

It's commented out as a suggestion. We have some projects where this is needed.


Reply to this email directly or view it on GitHub.

This comment has been minimized.

@senny

senny May 22, 2014

Member

Copying sample files is not directly related to database.yml. I could change the file name.

@senny

senny May 22, 2014

Member

Copying sample files is not directly related to database.yml. I could change the file name.

This comment has been minimized.

@lucasmazza

lucasmazza May 22, 2014

Member

We could change this to copy a sample of secrets.yml instead.

@lucasmazza

lucasmazza May 22, 2014

Member

We could change this to copy a sample of secrets.yml instead.

This comment has been minimized.

@dhh

dhh May 22, 2014

Member

I’d like to see a realistic example before we include it.

On May 22, 2014, at 6:00 PM, Lucas Mazza notifications@github.com wrote:

In railties/lib/rails/generators/rails/app/templates/bin/setup:

+# path to your application root.
+APP_ROOT = Pathname.new File.expand_path('../../', FILE)
+
+Dir.chdir APP_ROOT do

  • This script is a starting point to setup your application.

  • Add necessary setup steps to this file:

  • puts "== Installing dependencies =="
  • system "gem install bundler --conservative"
  • system "bundle install"
  • puts "\n== Copying sample files =="

  • unless File.exists?("config/database.yml")

  • system "cp config/database.yml.sample config/database.yml"

  • end

We could change this to copy a sample of secrets.yml instead.


Reply to this email directly or view it on GitHub.

@dhh

dhh May 22, 2014

Member

I’d like to see a realistic example before we include it.

On May 22, 2014, at 6:00 PM, Lucas Mazza notifications@github.com wrote:

In railties/lib/rails/generators/rails/app/templates/bin/setup:

+# path to your application root.
+APP_ROOT = Pathname.new File.expand_path('../../', FILE)
+
+Dir.chdir APP_ROOT do

  • This script is a starting point to setup your application.

  • Add necessary setup steps to this file:

  • puts "== Installing dependencies =="
  • system "gem install bundler --conservative"
  • system "bundle install"
  • puts "\n== Copying sample files =="

  • unless File.exists?("config/database.yml")

  • system "cp config/database.yml.sample config/database.yml"

  • end

We could change this to copy a sample of secrets.yml instead.


Reply to this email directly or view it on GitHub.

This comment has been minimized.

@rafaelfranca

rafaelfranca May 22, 2014

Member

secrets.yml can be checked too. We use sample files a lot but I'd remove it since I believe it is specific of some projects.

@rafaelfranca

rafaelfranca May 22, 2014

Member

secrets.yml can be checked too. We use sample files a lot but I'd remove it since I believe it is specific of some projects.

+
+ puts "== Installing dependencies =="
+ system "gem install bundler --conservative"
+ system "bundle install"

This comment has been minimized.

@lucasmazza

lucasmazza May 22, 2014

Member

would be worth change this to bundle check || bundle install? Most of our setup scripts are doing this to speed up the setup if the gems are already installed.

@lucasmazza

lucasmazza May 22, 2014

Member

would be worth change this to bundle check || bundle install? Most of our setup scripts are doing this to speed up the setup if the gems are already installed.

This comment has been minimized.

@senny

senny May 22, 2014

Member

👍 will update.

@senny

senny May 22, 2014

Member

👍 will update.

This comment has been minimized.

@spastorino

spastorino May 30, 2014

Member

I wonder why doesn't bundle install already does this speed up? May worth patching it?

@spastorino

spastorino May 30, 2014

Member

I wonder why doesn't bundle install already does this speed up? May worth patching it?

This comment has been minimized.

@fxn

This comment has been minimized.

Show comment
Hide comment
@fxn

fxn May 22, 2014

Member

Regarding docs:

The Getting Started guide has a table that explains the project layout. The description about bin could mention this script.

Also implicitly, if the guide had bin/setup as one of its steps that would communicate that's a blessed step. But for that to happen the generated bin/setup would probably need to do something meaningful in newly generated apps, otherwise I don't see it.

Member

fxn commented May 22, 2014

Regarding docs:

The Getting Started guide has a table that explains the project layout. The description about bin could mention this script.

Also implicitly, if the guide had bin/setup as one of its steps that would communicate that's a blessed step. But for that to happen the generated bin/setup would probably need to do something meaningful in newly generated apps, otherwise I don't see it.

@fxn

This comment has been minimized.

Show comment
Hide comment
@fxn

fxn May 22, 2014

Member

Oh, and if it did something meaningful in newly generated apps and mentioned as is in the getting started guide, then I believe the generated bin/setup should for the same price be portable, using FileUtils rather than shelling out.

Member

fxn commented May 22, 2014

Oh, and if it did something meaningful in newly generated apps and mentioned as is in the getting started guide, then I believe the generated bin/setup should for the same price be portable, using FileUtils rather than shelling out.

@senny

This comment has been minimized.

Show comment
Hide comment
@senny

senny May 29, 2014

Member

/cc @zzak @chancancode should I add this to the release notes?

Member

senny commented May 29, 2014

/cc @zzak @chancancode should I add this to the release notes?

@zzak

This comment has been minimized.

Show comment
Hide comment
@zzak

zzak May 29, 2014

Member

@senny I think so

Member

zzak commented May 29, 2014

@senny I think so

@chancancode

This comment has been minimized.

Show comment
Hide comment
@chancancode

chancancode May 29, 2014

Member

@senny it's still sitting on a branch, and we haven't started writing about railties yet, so it's up to you :) If you don't, I'll make sure I add it when we do the initial pass on railties.

Member

chancancode commented May 29, 2014

@senny it's still sitting on a branch, and we haven't started writing about railties yet, so it's up to you :) If you don't, I'll make sure I add it when we do the initial pass on railties.

@chancancode

This comment has been minimized.

Show comment
Hide comment

@senny senny changed the title from `bin/setup` script to bootstrap applications. [WIP] to `bin/setup` script to bootstrap applications. May 30, 2014

@senny

This comment has been minimized.

Show comment
Hide comment
@senny

senny May 30, 2014

Member

Updated according to suggestions. Going to merge this so other can contribute as well.

Member

senny commented May 30, 2014

Updated according to suggestions. Going to merge this so other can contribute as well.

senny added a commit that referenced this pull request May 30, 2014

Merge pull request #15189 from senny/bin/setup
`bin/setup` script to bootstrap applications.

@senny senny merged commit 58d3e02 into rails:master May 30, 2014

1 check was pending

continuous-integration/travis-ci The Travis CI build is in progress
Details

@senny senny deleted the senny:bin/setup branch May 30, 2014

@pftg

This comment has been minimized.

Show comment
Hide comment
@pftg

pftg May 30, 2014

Contributor

👍

Contributor

pftg commented May 30, 2014

👍

@ghost ghost referenced this pull request in fs/rails-base Oct 7, 2014

Closed

use bin/setup instead bin/bootstrap #224

@DamirSvrtan

This comment has been minimized.

Show comment
Hide comment
@DamirSvrtan

DamirSvrtan Jul 15, 2015

The way bin/setup is now written, it creates a fresh start - at least for the database. If you pull new changes to a project you're already working on - you'll have your database droped, recreated and migrated all over again. You'll lose all development data.

Wouldn't it be convenient to have the bin/setup just migrate your database if it already exists?
I would love a second opinion on this.

I'm currently using the following code snippet although i guess there should be a better way to check if the database exists:

system <<-SHELL
  bin/rake db:migrate:status > /dev/null
  if [ "$?" = "0" ]; then
    echo "\n== Migrating database =="
    bin/rake db:migrate
  else
    echo "\n== Preparing database =="
    bin/rake db:setup
  fi
SHELL

The way bin/setup is now written, it creates a fresh start - at least for the database. If you pull new changes to a project you're already working on - you'll have your database droped, recreated and migrated all over again. You'll lose all development data.

Wouldn't it be convenient to have the bin/setup just migrate your database if it already exists?
I would love a second opinion on this.

I'm currently using the following code snippet although i guess there should be a better way to check if the database exists:

system <<-SHELL
  bin/rake db:migrate:status > /dev/null
  if [ "$?" = "0" ]; then
    echo "\n== Migrating database =="
    bin/rake db:migrate
  else
    echo "\n== Preparing database =="
    bin/rake db:setup
  fi
SHELL
@pftg

This comment has been minimized.

Show comment
Hide comment
@pftg

pftg Jul 15, 2015

Contributor

bin/setup should be changed by developers per each project and should not be swiss knife.
I think about bin/setup as example where you should put your setup code, but not as final solution.

Some guys expected to run this once after git clone to do clean setup, some other expected to re-run on each git pull and update only missed parts.

P.S. there is a google group where you can discuss such ideas or propositions

Contributor

pftg commented Jul 15, 2015

bin/setup should be changed by developers per each project and should not be swiss knife.
I think about bin/setup as example where you should put your setup code, but not as final solution.

Some guys expected to run this once after git clone to do clean setup, some other expected to re-run on each git pull and update only missed parts.

P.S. there is a google group where you can discuss such ideas or propositions

@dhh

This comment has been minimized.

Show comment
Hide comment
@dhh

dhh Jul 15, 2015

Member

If you already have the database setup, then you already have the app
running, then bin/setup is not intended for you. We have rake db:migrate
and bundle to deal with those. I think bin/setup as "clean slate" is what
we're trying to achieve with this.

On Wed, Jul 15, 2015 at 2:09 AM, DamirSvrtan notifications@github.com
wrote:

The way bin/setup is now written, it creates a fresh start - at least for
the database. If you pull new changes to a project you're already working
on - you'll have your database droped, recreated and migrated all over
again. You'll lose all development data.

Wouldn't it be convenient to have the bin/setup just migrate your
database if it already exists? I would love a second opinion on this.

I'm currently using the following code snippet although i guess there
should be a better way to check if the database exists:

system <<-SHELL bin/rake db:migrate:status > /dev/null if [ "$?" = "0" ]; then echo "\n== Migrating database ==" bin/rake db:migrate else echo "\n== Preparing database ==" bin/rake db:setup fiSHELL


Reply to this email directly or view it on GitHub
#15189 (comment).

Member

dhh commented Jul 15, 2015

If you already have the database setup, then you already have the app
running, then bin/setup is not intended for you. We have rake db:migrate
and bundle to deal with those. I think bin/setup as "clean slate" is what
we're trying to achieve with this.

On Wed, Jul 15, 2015 at 2:09 AM, DamirSvrtan notifications@github.com
wrote:

The way bin/setup is now written, it creates a fresh start - at least for
the database. If you pull new changes to a project you're already working
on - you'll have your database droped, recreated and migrated all over
again. You'll lose all development data.

Wouldn't it be convenient to have the bin/setup just migrate your
database if it already exists? I would love a second opinion on this.

I'm currently using the following code snippet although i guess there
should be a better way to check if the database exists:

system <<-SHELL bin/rake db:migrate:status > /dev/null if [ "$?" = "0" ]; then echo "\n== Migrating database ==" bin/rake db:migrate else echo "\n== Preparing database ==" bin/rake db:setup fiSHELL


Reply to this email directly or view it on GitHub
#15189 (comment).

@DamirSvrtan

This comment has been minimized.

Show comment
Hide comment
@DamirSvrtan

DamirSvrtan Jul 15, 2015

Thank you David - I was looking for an explanation on this part - wether it should be used for a clean state setup or a continuos setup. We have devs that only do frontend/javascript work on our applications and know very little about Rails - that's why I was looking at ./bin/setup and rails s to be the only commands they need to know to get up and going with their work.

Thank you David - I was looking for an explanation on this part - wether it should be used for a clean state setup or a continuos setup. We have devs that only do frontend/javascript work on our applications and know very little about Rails - that's why I was looking at ./bin/setup and rails s to be the only commands they need to know to get up and going with their work.

@fxn

This comment has been minimized.

Show comment
Hide comment
@fxn

fxn Jul 15, 2015

Member

@DamirSvrtan maybe a custom bin/update ad-hoc for your project could fit your workflow. That is, you throw your own thing custom-made for your team, and then document that's the way frontend people update the project.

Member

fxn commented Jul 15, 2015

@DamirSvrtan maybe a custom bin/update ad-hoc for your project could fit your workflow. That is, you throw your own thing custom-made for your team, and then document that's the way frontend people update the project.

@dhh

This comment has been minimized.

Show comment
Hide comment
@dhh

dhh Jul 15, 2015

Member

I think that's a great idea, Xavier. That's how bin/setup started out for
us too.

On Wed, Jul 15, 2015 at 2:49 PM, Xavier Noria notifications@github.com
wrote:

@DamirSvrtan https://github.com/DamirSvrtan maybe a custom bin/update
ad-hoc for your project could fit your workflow. That is, you throw your
own thing custom-made for your team, and then document that's the way
frontend people update the project.


Reply to this email directly or view it on GitHub
#15189 (comment).

Member

dhh commented Jul 15, 2015

I think that's a great idea, Xavier. That's how bin/setup started out for
us too.

On Wed, Jul 15, 2015 at 2:49 PM, Xavier Noria notifications@github.com
wrote:

@DamirSvrtan https://github.com/DamirSvrtan maybe a custom bin/update
ad-hoc for your project could fit your workflow. That is, you throw your
own thing custom-made for your team, and then document that's the way
frontend people update the project.


Reply to this email directly or view it on GitHub
#15189 (comment).

JuanitoFatas added a commit to JuanitoFatas/cfp-app that referenced this pull request Jan 11, 2016

Make setup for project easier with bin/setup script
- bin/setup more information: rails/rails#15189

- Use bin/rails to take advantage of Spring

http://guides.rubyonrails.org/4_1_release_notes.html#spring-application-
preloader

- Remove the mention of copy config/database_example.yml

  Since it does not exist anymore

JuanitoFatas added a commit to JuanitoFatas/cfp-app that referenced this pull request Jan 11, 2016

Make setup for project easier with bin/setup script
- `bin/setup` more information: rails/rails#15189

- Use `bin/rails` to take advantage of Spring

  http://guides.rubyonrails.org/4_1_release_notes.html#spring-application-preloader

- Remove the mention of copy `config/database_example.yml` in README.md

  Since it does not exist anymore, removed in bcfe938

@JuanitoFatas JuanitoFatas referenced this pull request in rubycentral/cfp-app Jan 11, 2016

Merged

Make setup for project easier with bin/setup script #78

mauro-oto referenced this pull request in ombulabs/blog Jun 29, 2016

@kkelleey kkelleey referenced this pull request in ifmeorg/ifme Jul 28, 2016

Closed

New setup script #247

@aried3r aried3r referenced this pull request in gothinkster/rails-realworld-example-app Apr 28, 2017

Merged

Getting started: rake db:migrate #2

lizconlan added a commit to mysociety/alaveteli that referenced this pull request Aug 2, 2017

squash! Generated template changes in Rails 4.2
* Adds a new file bin/setup which is intended to act as a bootstrapper:
  rails/rails#15189
  I'm not sure the default ('starting point') script is helpful here

lizconlan added a commit to mysociety/alaveteli that referenced this pull request Aug 2, 2017

squash! Generated template changes in Rails 4.2
* Adds a new file bin/setup which is intended to act as a bootstrapper:
  rails/rails#15189
  I'm not sure the default ('starting point') script is helpful here

lizconlan added a commit to mysociety/alaveteli that referenced this pull request Aug 3, 2017

squash! Generated template changes in Rails 4.2
* Adds a new file bin/setup which is intended to act as a bootstrapper:
  rails/rails#15189
  I'm not sure the default ('starting point') script is helpful here

lizconlan added a commit to mysociety/alaveteli that referenced this pull request Aug 4, 2017

Generated template changes in Rails 4.2
squash! Generated template changes in Rails 4.2

* Adds assets.digest = true to develop
* Adds a new file bin/setup which is intended to act as a bootstrapper:
  rails/rails#15189
* Adds a new initializer that allows us to tell ActiveSupport to preserve
  timezones when using Ruby 2.4

lizconlan added a commit to mysociety/alaveteli that referenced this pull request Aug 4, 2017

Generated template changes in Rails 4.2
* Adds assets.digest = true to develop
* Adds a new file bin/setup which is intended to act as a bootstrapper:
  rails/rails#15189
* Adds a new initializer that allows us to tell ActiveSupport to preserve
  timezones when using Ruby 2.4

lizconlan added a commit to mysociety/alaveteli that referenced this pull request Aug 4, 2017

Generated template changes in Rails 4.2
* Adds assets.digest = true to develop
* Adds a new file bin/setup which is intended to act as a bootstrapper:
  rails/rails#15189
* Adds a new initializer that allows us to tell ActiveSupport to preserve
  timezones when using Ruby 2.4

lizconlan added a commit to mysociety/alaveteli that referenced this pull request Aug 4, 2017

Generated template changes in Rails 4.2
* Adds assets.digest = true to develop
* Adds a new file bin/setup which is intended to act as a bootstrapper:
  rails/rails#15189
* Adds a new initializer that allows us to tell ActiveSupport to preserve
  timezones when using Ruby 2.4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment