instance method
environment
Ruby on Rails 7.0.10
Since v3.0.20Signature
environment(data = nil, options = {})
Adds configuration code to a Rails runtime environment.
By default, adds code inside the Application class in config/application.rb so that it applies to all environments.
environment %(config.asset_host = "cdn.provider.com")
Results in:
# config/application.rb class Application < Rails::Application config.asset_host = "cdn.provider.com" # ... end
If the :env option is specified, the code will be added to the corresponding file in config/environments instead.
environment %(config.asset_host = "localhost:3000"), env: "development"
Results in:
# config/environments/development.rb Rails.application.configure do config.asset_host = "localhost:3000" # ... end
:env can also be an array. In which case, the code is added to each corresponding file in config/environments.
The code can also be specified as the return value of the block:
environment do %(config.asset_host = "cdn.provider.com") end environment(nil, env: "development") do %(config.asset_host = "localhost:3000") end
Parameters
-
dataopt = nil -
optionsopt = {}
Source
# File railties/lib/rails/generators/actions.rb, line 206
def environment(data = nil, options = {})
sentinel = "class Application < Rails::Application\n"
env_file_sentinel = "Rails.application.configure do\n"
data ||= yield if block_given?
in_root do
if options[:env].nil?
inject_into_file "config/application.rb", optimize_indentation(data, 4), after: sentinel, verbose: false
else
Array(options[:env]).each do |env|
inject_into_file "config/environments/#{env}.rb", optimize_indentation(data, 2), after: env_file_sentinel, verbose: false
end
end
end
end
Defined in railties/lib/rails/generators/actions.rb line 206
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in Rails::Generators::Actions