Skip to content

Commit

Permalink
fixes #12914 - update configurations to rails 4.1 structure
Browse files Browse the repository at this point in the history
this is a simple output after comparing the output of ```rails new foreman```
and updating accordingly.
  • Loading branch information
ohadlevy authored and dLobatog committed Jan 7, 2016
1 parent 798e4a0 commit 418e709
Show file tree
Hide file tree
Showing 8 changed files with 359 additions and 197 deletions.
25 changes: 18 additions & 7 deletions config/environments/development.rb
Original file line number Diff line number Diff line change
@@ -1,32 +1,43 @@
Foreman::Application.configure do
# Settings specified here will take precedence over those in config/application.rb
# Settings specified here will take precedence over those in config/application.rb.

# In the development environment your application's code is reloaded on
# every request. This slows down response time but is perfect for development
# since you don't have to restart the webserver when you make code changes.
# every request. This slows down response time but is perfect for development
# since you don't have to restart the web server when you make code changes.
config.cache_classes = false

# Do not eager load code on boot.
config.eager_load = false

# Show full error reports and disable caching
# Show full error reports and disable caching.
config.consider_all_requests_local = true
config.action_controller.perform_caching = false

# Don't care if the mailer can't send
# Don't care if the mailer can't send.
config.action_mailer.raise_delivery_errors = false

# Print deprecation notices to the Rails logger
# Print deprecation notices to the Rails logger.
config.active_support.deprecation = :log

# Raise an error on page load if there are pending migrations.
config.active_record.migration_error = :page_load

# Only use best-standards-support built into browsers
config.action_dispatch.best_standards_support = :builtin

# Should ANSI color codes be used when logging information
config.colorize_logging = Foreman::Logging.config[:colorize]

# Expands the lines which load the assets
# Debug mode disables concatenation and preprocessing of assets.
# This option may cause significant delays in view rendering with a large
# number of complex assets.
config.assets.debug = true

# Adds additional error checking when serving assets at runtime.
# Checks for improperly declared sprockets dependencies.
# Raises helpful error messages.
config.assets.raise_runtime_errors = true

# Raise exception on mass assignment protection for Active Record models
config.active_record.mass_assignment_sanitizer = :strict

Expand Down
195 changes: 58 additions & 137 deletions config/environments/production.rb
Original file line number Diff line number Diff line change
@@ -1,165 +1,86 @@
Foreman::Application.configure do |app|
# Settings specified here will take precedence over those in config/application.rb
# Settings specified here will take precedence over those in config/application.rb.

# The production environment is meant for finished, "live" apps.
# Code is not reloaded between requests
# Code is not reloaded between requests.
config.cache_classes = true

# Full error reports are disabled and caching is turned on
# Eager load code on boot. This eager loads most of Rails and
# your application in memory, allowing both threaded web servers
# and those relying on copy on write to perform better.
# Rake tasks automatically ignore this option for performance.
config.eager_load = true

# Full error reports are disabled and caching is turned on.
config.consider_all_requests_local = false
config.action_controller.perform_caching = true

# Specifies the header that your server uses for sending files
# config.action_dispatch.x_sendfile_header = "X-Sendfile"

# For nginx:
# config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect'

# If you have no front-end server that supports something like X-Sendfile,
# just comment this out and Rails will serve the files

# See everything in the log (default is :info)
# config.log_level = :debug

# Use a different logger for distributed setups
# config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)

# Use a different cache store in production
# config.cache_store = :mem_cache_store

# Disable Rails's static asset server
# In production, Apache or nginx will already do this
config.serve_static_assets = true

# Enable serving of images, stylesheets, and javascripts from an asset server
# config.action_controller.asset_host = "http://assets.example.com"

# Disable delivery errors, bad email addresses will be ignored
# config.action_mailer.raise_delivery_errors = false

# Enable threaded mode
# config.threadsafe!

# Eager load all classes under lib directory
config.eager_load_paths += ["#{config.root}/lib"]
config.eager_load = true

# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
# the I18n.default_locale when a translation can not be found)
config.i18n.fallbacks = true
# Enable Rack::Cache to put a simple HTTP cache in front of your application
# Add `rack-cache` to your Gemfile before enabling this.
# For large-scale production use, consider using a caching reverse proxy like nginx, varnish or squid.
# config.action_dispatch.rack_cache = true

# Send deprecation notices to registered listeners
config.active_support.deprecation = :notify
# Disable Rails's static asset server (Apache or nginx will already do this).
config.serve_static_assets = true

# Compress JavaScripts and CSS
# Compress JavaScripts and CSS.
config.assets.js_compressor = :uglifier
# config.assets.css_compressor = :sass

# Fallback to assets pipeline if a precompiled asset is missed:
# Do not fallback to assets pipeline if a precompiled asset is missed.
# that's the case when an engine with it's own assets is added to Foreman later in production.
config.assets.compile = false

# Generate digests for assets URLs
# Generate digests for assets URLs.
config.assets.digest = true

# Defaults to Rails.root.join("public/assets")
# config.assets.manifest = YOUR_PATH
# `config.assets.precompile` has moved to config/initializers/assets.rb

# Specifies the header that your server uses for sending files.
# config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache
# config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx

# Should ANSI color codes be used when logging information
config.colorize_logging = Foreman::Logging.config[:colorize]

# Add the fonts path
config.assets.paths << Rails.root.join('vendor', 'assets', 'fonts')

# Precompile additional assets
config.assets.precompile << /\.(?:svg|eot|woff|ttf)$/

# Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added)
# config.assets.precompile += %w()
#
javascript = %w(compute_resource
compute_resources/libvirt/nic_info
compute_resources/ovirt/nic_info
compute_resources/vmware/nic_info
lookup_keys
editor
diff
host_edit
host_edit_interfaces
hosts
jquery.cookie
host_checkbox
nfs_visibility
noVNC/base64
noVNC/des
noVNC/display
noVNC/input
noVNC/jsunzip
noVNC/logo
noVNC/playback
noVNC/rfb
noVNC/ui
noVNC/util
noVNC/websock
noVNC/webutil
noVNC
reports
spice
trends
charts
taxonomy_edit
gettext/all
filters
users
class_edit
dashboard
auth_source_ldap
subnets
hidden_values
password_strength
proxy-status)

stylesheets = %w( )

config.assets.precompile += javascript.map{|js| js + ".js"} + stylesheets + %w(background-size.htc)

# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
# config.force_ssl = true

# Adds plugin assets to the application digests hash if a manifest file exists for a plugin
config.after_initialize do
if manifest_file = Dir.glob("#{Rails.root}/public/assets/manifest*.json").first
foreman_manifest = JSON.parse(File.read(manifest_file))

::Rails::Engine.subclasses.map(&:instance).each do |engine|
[engine.root, app.root].each do |root_dir|
manifest_path = File.join(root_dir, "public/assets/#{engine.engine_name}/#{engine.engine_name}.json")

if File.file?(manifest_path)
assets = JSON.parse(File.read(manifest_path))

foreman_manifest['files'] = foreman_manifest['files'].merge(assets['files'])
foreman_manifest['assets'] = foreman_manifest['assets'].merge(assets['assets'])
end
end
end

manifest_filename = "asset_manifest.json"
tmp_path = "#{Rails.root}/tmp"

Tempfile.open(manifest_filename, tmp_path) do |file|
file.write(foreman_manifest.to_json)
app.assets_manifest = Sprockets::Manifest.new(app.assets, file.path)
ActionView::Base.assets_manifest = app.assets_manifest
end
end
end

# Serve plugin static assets if the application is configured to do so
if config.serve_static_assets
::Rails::Engine.subclasses.map(&:instance).each do |engine|
if File.exist?("#{engine.root}/public/assets")
app.middleware.use ::ActionDispatch::Static, "#{engine.root}/public"
end
end
end
# Set to :debug to see everything in the log.
config.log_level = :info

# Prepend all log lines with the following tags.
# config.log_tags = [ :subdomain, :uuid ]

# Use a different logger for distributed setups.
# config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)

# Use a different cache store in production.
# config.cache_store = :mem_cache_store

# Enable serving of images, stylesheets, and JavaScripts from an asset server.
# config.action_controller.asset_host = "http://assets.example.com"

# Ignore bad email addresses and do not raise email delivery errors.
# Set this to true and configure the email server for immediate delivery to raise delivery errors.
# config.action_mailer.raise_delivery_errors = false

# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
# the I18n.default_locale when a translation cannot be found).
config.i18n.fallbacks = true

# Send deprecation notices to registered listeners.
config.active_support.deprecation = :notify

# Disable automatic flushing of the log to improve performance.
# config.autoflush_log = false

# Use default logging formatter so that PID and timestamp are not suppressed.
config.log_formatter = ::Logger::Formatter.new

# Do not dump schema after migrations.
config.active_record.dump_schema_after_migration = false
end
27 changes: 15 additions & 12 deletions config/environments/test.rb
Original file line number Diff line number Diff line change
@@ -1,23 +1,30 @@
Foreman::Application.configure do
# Settings specified here will take precedence over those in config/application.rb
# Settings specified here will take precedence over those in config/application.rb.

# The test environment is used exclusively to run your application's
# test suite. You never need to work with it otherwise. Remember that
# test suite. You never need to work with it otherwise. Remember that
# your test database is "scratch space" for the test suite and is wiped
# and recreated between test runs. Don't rely on the data there!
# and recreated between test runs. Don't rely on the data there!
config.cache_classes = true

# Do not eager load code on boot. This avoids loading your whole application
# just for the purpose of running a single test. If you are using a tool that
# preloads Rails for running tests, you may have to set it to true.
config.eager_load = false

# Show full error reports and disable caching
# Configure static asset server for tests with Cache-Control for performance.
config.serve_static_assets = true
config.static_cache_control = 'public, max-age=3600'

# Show full error reports and disable caching.
config.consider_all_requests_local = true
config.action_controller.perform_caching = false

# Raise exceptions instead of rendering exception templates
# Raise exceptions instead of rendering exception templates.
config.action_dispatch.show_exceptions = false

# Disable request forgery protection in test environment
config.action_controller.allow_forgery_protection = false
# Disable request forgery protection in test environment.
config.action_controller.allow_forgery_protection = false

# Tell Action Mailer not to deliver emails to the real world.
# The :test delivery method accumulates sent emails in the
Expand All @@ -34,13 +41,9 @@
# Should ANSI color codes be used when logging information
config.colorize_logging = Foreman::Logging.config[:colorize]

# Print deprecation notices to the stderr
# Print deprecation notices to the stderr.
config.active_support.deprecation = :stderr

# Configure static asset server for tests with Cache-Control for performance
config.serve_static_assets = true
config.static_cache_control = "public, max-age=3600"

# Raise exception on mass assignment protection for Active Record models
config.active_record.mass_assignment_sanitizer = :strict

Expand Down
Loading

0 comments on commit 418e709

Please sign in to comment.