Byscripts
Byscripts

Reputation: 2588

Rails Application Templates: How to override lines already presents in environment files?

Rails application templates are great to quickly setup a base project.

But when I'm using the "environment" directive, to add some default configuration, it doesn't override already existing settings.

For example, if I set this line in my app template :

environment 'config.action_mailer.raise_delivery_errors = true', env: 'development'

It's added at top of my config/environments/development.rb file. But that doesn't override the existing line below

config.action_mailer.raise_delivery_errors = false

Is there a way to override existing lines ? (or at least a directive to delete a line matching a certain pattern)

Upvotes: 1

Views: 376

Answers (1)

Byscripts
Byscripts

Reputation: 2588

Since Rails application template generator is based on Thor, it's possible to use gsub_file to remove a part of a file. So in this case:

gsub_file('config/environments/development.rb', /config\.action_mailer\.raise_delivery_errors.*/, '')

Upvotes: 2

Related Questions