Commit 246db20c449bc9875560077a4036bf18121a0534

Authored by Chulki Lee
1 parent 19066a58
Exists in master and in 1 other branch production

update configs for rails 4.1

- use secrets.yml
- use Rails.application over Errbit::Application
- do not use secret_token.rb
- update devise initializer
@@ -24,7 +24,7 @@ gem 'rails_autolink' @@ -24,7 +24,7 @@ gem 'rails_autolink'
24 # Please don't update hoptoad_notifier to airbrake. 24 # Please don't update hoptoad_notifier to airbrake.
25 # It's for internal use only, and we monkeypatch certain methods 25 # It's for internal use only, and we monkeypatch certain methods
26 gem 'hoptoad_notifier', "~> 2.4" 26 gem 'hoptoad_notifier', "~> 2.4"
27 -gem 'draper', :require => false 27 +gem 'draper'
28 28
29 gem 'errbit_plugin', github: 'errbit/errbit_plugin' 29 gem 'errbit_plugin', github: 'errbit/errbit_plugin'
30 gem 'errbit_github_plugin', github: 'errbit/errbit_github_plugin' 30 gem 'errbit_github_plugin', github: 'errbit/errbit_github_plugin'
1 -#!/usr/bin/env rake  
2 # Add your own tasks in files placed in lib/tasks ending in .rake, 1 # Add your own tasks in files placed in lib/tasks ending in .rake,
3 # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. 2 # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
4 3
5 require File.expand_path('../config/application', __FILE__) 4 require File.expand_path('../config/application', __FILE__)
6 5
7 -Errbit::Application.load_tasks 6 +Rails.application.load_tasks
8 7
9 begin 8 begin
10 require 'rspec/core/rake_task' 9 require 'rspec/core/rake_task'
@@ -2,4 +2,4 @@ @@ -2,4 +2,4 @@
2 2
3 require ::File.expand_path('../config/environment', __FILE__) 3 require ::File.expand_path('../config/environment', __FILE__)
4 use Rack::Deflater 4 use Rack::Deflater
5 -run Errbit::Application 5 +run Rails.application
config/application.rb
@@ -5,8 +5,8 @@ require "action_mailer/railtie" @@ -5,8 +5,8 @@ require "action_mailer/railtie"
5 require 'mongoid/railtie' 5 require 'mongoid/railtie'
6 require "sprockets/railtie" 6 require "sprockets/railtie"
7 7
8 -require 'draper'  
9 - 8 +# Require the gems listed in Gemfile, including any gems
  9 +# you've limited to :test, :development, or :production.
10 Bundler.require(*Rails.groups) 10 Bundler.require(*Rails.groups)
11 11
12 module Errbit 12 module Errbit
@@ -18,10 +18,6 @@ module Errbit @@ -18,10 +18,6 @@ module Errbit
18 # Custom directories with classes and modules you want to be autoloadable. 18 # Custom directories with classes and modules you want to be autoloadable.
19 config.autoload_paths += [Rails.root.join('lib')] 19 config.autoload_paths += [Rails.root.join('lib')]
20 20
21 - # Only load the plugins named here, in the order given (default is alphabetical).  
22 - # :all can be used as a placeholder for all plugins not explicitly named.  
23 - # config.plugins = [ :exception_notification, :ssl_requirement, :all ]  
24 -  
25 # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. 21 # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
26 # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC. 22 # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
27 # config.time_zone = 'Central Time (US & Canada)' 23 # config.time_zone = 'Central Time (US & Canada)'
@@ -41,23 +37,7 @@ module Errbit @@ -41,23 +37,7 @@ module Errbit
41 # IssueTracker subclasses use inheritance, so preloading models provides querying consistency in dev mode. 37 # IssueTracker subclasses use inheritance, so preloading models provides querying consistency in dev mode.
42 config.mongoid.preload_models = true 38 config.mongoid.preload_models = true
43 39
44 - # Configure the default encoding used in templates for Ruby 1.9.  
45 - config.encoding = "utf-8"  
46 -  
47 - # Configure sensitive parameters which will be filtered from the log file.  
48 - config.filter_parameters += [:password]  
49 -  
50 # Configure Devise mailer to use our mailer layout. 40 # Configure Devise mailer to use our mailer layout.
51 config.to_prepare { Devise::Mailer.layout "mailer" } 41 config.to_prepare { Devise::Mailer.layout "mailer" }
52 -  
53 -  
54 - # Enable the asset pipeline  
55 - config.assets.enabled = true  
56 -  
57 - # Need to initialize Rails environment for issue_tracker_icons.css.erb  
58 - config.assets.initialize_on_precompile = true  
59 -  
60 - # Version of your assets, change this if you want to expire all your assets  
61 - config.assets.version = '1.0'  
62 end 42 end
63 end 43 end
config/boot.rb
1 -require 'rubygems'  
2 -  
3 # Set up gems listed in the Gemfile. 1 # Set up gems listed in the Gemfile.
4 -gemfile = File.expand_path('../../Gemfile', __FILE__)  
5 -begin  
6 - ENV['BUNDLE_GEMFILE'] = gemfile  
7 - require 'bundler'  
8 - Bundler.setup  
9 -rescue Bundler::GemNotFound => e  
10 - STDERR.puts e.message  
11 - STDERR.puts "Try running `bundle install`."  
12 - exit!  
13 -end if File.exist?(gemfile) 2 +ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
14 3
  4 +require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE'])
config/cloud/cloud66/deploy_hooks.yml
@@ -16,10 +16,6 @@ production: @@ -16,10 +16,6 @@ production:
16 destination: <%= ENV['RAILS_STACK_PATH'] %>/config/mongoid.yml 16 destination: <%= ENV['RAILS_STACK_PATH'] %>/config/mongoid.yml
17 target: rails 17 target: rails
18 run_on: all_servers 18 run_on: all_servers
19 - - source: /config/cloud/cloud66/files/secret_token.rb  
20 - destination: <%= ENV['RAILS_STACK_PATH'] %>/config/initializers/secret_token.rb  
21 - target: rails  
22 - run_on: all_servers  
23 - source: /config/cloud/cloud66/files/seeds.rb 19 - source: /config/cloud/cloud66/files/seeds.rb
24 destination: <%= ENV['RAILS_STACK_PATH'] %>/db/seeds.rb 20 destination: <%= ENV['RAILS_STACK_PATH'] %>/db/seeds.rb
25 target: rails 21 target: rails
@@ -59,10 +55,6 @@ staging: @@ -59,10 +55,6 @@ staging:
59 destination: <%= ENV['RAILS_STACK_PATH'] %>/config/mongoid.yml 55 destination: <%= ENV['RAILS_STACK_PATH'] %>/config/mongoid.yml
60 target: rails 56 target: rails
61 run_on: all_servers 57 run_on: all_servers
62 - - source: /config/cloud/cloud66/files/secret_token.rb  
63 - destination: <%= ENV['RAILS_STACK_PATH'] %>/config/initializers/secret_token.rb  
64 - target: rails  
65 - run_on: all_servers  
66 - source: /config/cloud/cloud66/files/seeds.rb 58 - source: /config/cloud/cloud66/files/seeds.rb
67 destination: <%= ENV['RAILS_STACK_PATH'] %>/db/seeds.rb 59 destination: <%= ENV['RAILS_STACK_PATH'] %>/db/seeds.rb
68 target: rails 60 target: rails
@@ -103,10 +95,6 @@ development: @@ -103,10 +95,6 @@ development:
103 destination: <%= ENV['RAILS_STACK_PATH'] %>/config/mongoid.yml 95 destination: <%= ENV['RAILS_STACK_PATH'] %>/config/mongoid.yml
104 target: rails 96 target: rails
105 run_on: all_servers 97 run_on: all_servers
106 - - source: /config/cloud/cloud66/files/secret_token.rb  
107 - destination: <%= ENV['RAILS_STACK_PATH'] %>/config/initializers/secret_token.rb  
108 - target: rails  
109 - run_on: all_servers  
110 - source: /config/cloud/cloud66/files/seeds.rb 98 - source: /config/cloud/cloud66/files/seeds.rb
111 destination: <%= ENV['RAILS_STACK_PATH'] %>/db/seeds.rb 99 destination: <%= ENV['RAILS_STACK_PATH'] %>/db/seeds.rb
112 target: rails 100 target: rails
config/cloud/cloud66/files/secret_token.rb
@@ -1,2 +0,0 @@ @@ -1,2 +0,0 @@
1 -Errbit::Application.config.secret_token = '<%= ENV['SECRET_TOKEN'] %>'  
2 -Devise.secret_key = Errbit::Application.config.secret_token  
config/deploy.example.rb
@@ -23,7 +23,6 @@ set :linked_files, fetch(:linked_files, []) + %w( @@ -23,7 +23,6 @@ set :linked_files, fetch(:linked_files, []) + %w(
23 config/config.yml 23 config/config.yml
24 config/mongoid.yml 24 config/mongoid.yml
25 config/newrelic.yml 25 config/newrelic.yml
26 - config/initializers/secret_token.rb  
27 ) 26 )
28 27
29 set :linked_dirs, fetch(:linked_dirs, []) + %w( 28 set :linked_dirs, fetch(:linked_dirs, []) + %w(
config/environment.rb
1 -# Load the rails application 1 +# Load the Rails application.
2 require File.expand_path('../application', __FILE__) 2 require File.expand_path('../application', __FILE__)
3 3
4 -# Initialize the rails application  
5 -Errbit::Application.initialize! 4 +# Initialize the Rails application.
  5 +Rails.application.initialize!
config/environments/development.rb
1 -Errbit::Application.configure do  
2 - # Settings specified here will take precedence over those in config/environment.rb 1 +Rails.application.configure do
  2 + # Settings specified here will take precedence over those in config/application.rb.
3 3
4 # In the development environment your application's code is reloaded on 4 # In the development environment your application's code is reloaded on
5 - # every request. This slows down response time but is perfect for development  
6 - # since you don't have to restart the webserver when you make code changes. 5 + # every request. This slows down response time but is perfect for development
  6 + # since you don't have to restart the web server when you make code changes.
7 config.cache_classes = false 7 config.cache_classes = false
8 8
  9 + # Do not eager load code on boot.
9 config.eager_load = false 10 config.eager_load = false
10 11
11 - # Show full error reports and disable caching 12 + # Show full error reports and disable caching.
12 config.consider_all_requests_local = true 13 config.consider_all_requests_local = true
13 config.action_controller.perform_caching = false 14 config.action_controller.perform_caching = false
14 15
15 - # Don't care if the mailer can't send 16 + # Don't care if the mailer can't send.
16 config.action_mailer.raise_delivery_errors = false 17 config.action_mailer.raise_delivery_errors = false
17 - config.action_mailer.default_url_options = { :host => 'localhost:3000' }  
18 18
19 - # Print deprecation notices to the Rails logger 19 + # Print deprecation notices to the Rails logger.
20 config.active_support.deprecation = :log 20 config.active_support.deprecation = :log
21 21
22 - # Do not compress assets  
23 - config.assets.compress = false 22 + # Raise an error on page load if there are pending migrations.
  23 + # config.active_record.migration_error = :page_load
24 24
25 - # Expands the lines which load the assets 25 + # Debug mode disables concatenation and preprocessing of assets.
  26 + # This option may cause significant delays in view rendering with a large
  27 + # number of complex assets.
26 config.assets.debug = true 28 config.assets.debug = true
27 -end  
28 29
  30 + # Adds additional error checking when serving assets at runtime.
  31 + # Checks for improperly declared sprockets dependencies.
  32 + # Raises helpful error messages.
  33 + config.assets.raise_runtime_errors = false
  34 +
  35 + # Raises error for missing translations
  36 + # config.action_view.raise_on_missing_translations = true
  37 +end
config/environments/production.rb
1 -Errbit::Application.configure do  
2 - # Settings specified here will take precedence over those in config/environment.rb 1 +Rails.application.configure do
  2 + # Settings specified here will take precedence over those in config/application.rb.
3 3
4 - # The production environment is meant for finished, "live" apps.  
5 - # Code is not reloaded between requests 4 + # Code is not reloaded between requests.
6 config.cache_classes = true 5 config.cache_classes = true
7 6
  7 + # Eager load code on boot. This eager loads most of Rails and
  8 + # your application in memory, allowing both threaded web servers
  9 + # and those relying on copy on write to perform better.
  10 + # Rake tasks automatically ignore this option for performance.
8 config.eager_load = true 11 config.eager_load = true
9 12
10 - # Shows or hides all error details if something goes wrong inside Errbit 13 + # Full error reports are disabled and caching is turned on.
11 config.consider_all_requests_local = false 14 config.consider_all_requests_local = false
12 - # Caching is turned on  
13 config.action_controller.perform_caching = true 15 config.action_controller.perform_caching = true
14 16
15 - # Specifies the header that your server uses for sending files  
16 - config.action_dispatch.x_sendfile_header = "X-Sendfile" 17 + # Enable Rack::Cache to put a simple HTTP cache in front of your application
  18 + # Add `rack-cache` to your Gemfile before enabling this.
  19 + # For large-scale production use, consider using a caching reverse proxy like nginx, varnish or squid.
  20 + # config.action_dispatch.rack_cache = true
17 21
18 - # For nginx:  
19 - # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' 22 + # Disable Rails's static asset server (Apache or nginx will already do this).
  23 + config.serve_static_assets = false
20 24
21 - # If you have no front-end server that supports something like X-Sendfile,  
22 - # just comment this out and Rails will serve the files 25 + # Compress JavaScripts and CSS.
  26 + config.assets.js_compressor = :uglifier
  27 + # config.assets.css_compressor = :sass
23 28
24 - # See everything in the log (default is :info)  
25 - # config.log_level = :debug 29 + # Do not fallback to assets pipeline if a precompiled asset is missed.
  30 + config.assets.compile = false
26 31
27 - # Use a different logger for distributed setups  
28 - # config.logger = SyslogLogger.new 32 + # Generate digests for assets URLs.
  33 + config.assets.digest = true
29 34
30 - # Use a different cache store in production  
31 - # config.cache_store = :mem_cache_store 35 + # `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb
32 36
33 - # Disable Rails's static asset server  
34 - # In production, Apache or nginx will already do this  
35 - config.serve_static_assets = false 37 + # Specifies the header that your server uses for sending files.
  38 + # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache
  39 + # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx
36 40
37 - # Compress JavaScripts and CSS  
38 - config.assets.compress = true 41 + # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
  42 + # config.force_ssl = true
39 43
40 - # Don't fallback to assets pipeline if a precompiled asset is missed  
41 - config.assets.compile = false 44 + # Set to :debug to see everything in the log.
  45 + config.log_level = :info
42 46
43 - # Generate digests for assets URLs  
44 - config.assets.digest = true 47 + # Prepend all log lines with the following tags.
  48 + # config.log_tags = [ :subdomain, :uuid ]
45 49
46 - # Enable serving of images, stylesheets, and javascripts from an asset server  
47 - # config.action_controller.asset_host = "http://assets.example.com" 50 + # Use a different logger for distributed setups.
  51 + # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)
48 52
49 - # Disable delivery errors, bad email addresses will be ignored  
50 - # config.action_mailer.raise_delivery_errors = false 53 + # Use a different cache store in production.
  54 + # config.cache_store = :mem_cache_store
51 55
52 - # Set default host for ActionMailer links  
53 - config.action_mailer.default_url_options = { :host => ENV['ERRBIT_HOST'] } if ENV['ERRBIT_HOST'] 56 + # Enable serving of images, stylesheets, and JavaScripts from an asset server.
  57 + # config.action_controller.asset_host = "http://assets.example.com"
54 58
55 - # Enable threaded mode  
56 - # config.threadsafe! 59 + # Ignore bad email addresses and do not raise email delivery errors.
  60 + # Set this to true and configure the email server for immediate delivery to raise delivery errors.
  61 + # config.action_mailer.raise_delivery_errors = false
57 62
58 # Enable locale fallbacks for I18n (makes lookups for any locale fall back to 63 # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
59 - # the I18n.default_locale when a translation can not be found) 64 + # the I18n.default_locale when a translation cannot be found).
60 config.i18n.fallbacks = true 65 config.i18n.fallbacks = true
61 66
62 - # Send deprecation notices to registered listeners 67 + # Send deprecation notices to registered listeners.
63 config.active_support.deprecation = :notify 68 config.active_support.deprecation = :notify
64 - config.static_cache_control = "public, max-age=7200"  
65 -end  
66 69
  70 + # Disable automatic flushing of the log to improve performance.
  71 + # config.autoflush_log = false
  72 +
  73 + # Use default logging formatter so that PID and timestamp are not suppressed.
  74 + config.log_formatter = ::Logger::Formatter.new
  75 +
  76 + # Do not dump schema after migrations.
  77 + # config.active_record.dump_schema_after_migration = false
  78 +end
config/environments/test.rb
1 -Errbit::Application.configure do  
2 - # Settings specified here will take precedence over those in config/environment.rb 1 +Rails.application.configure do
  2 + # Settings specified here will take precedence over those in config/application.rb.
3 3
4 # The test environment is used exclusively to run your application's 4 # The test environment is used exclusively to run your application's
5 - # test suite. You never need to work with it otherwise. Remember that 5 + # test suite. You never need to work with it otherwise. Remember that
6 # your test database is "scratch space" for the test suite and is wiped 6 # your test database is "scratch space" for the test suite and is wiped
7 - # and recreated between test runs. Don't rely on the data there! 7 + # and recreated between test runs. Don't rely on the data there!
8 config.cache_classes = true 8 config.cache_classes = true
9 9
  10 + # Do not eager load code on boot. This avoids loading your whole application
  11 + # just for the purpose of running a single test. If you are using a tool that
  12 + # preloads Rails for running tests, you may have to set it to true.
10 config.eager_load = false 13 config.eager_load = false
11 14
12 - # Show full error reports and disable caching 15 + # Configure static asset server for tests with Cache-Control for performance.
  16 + config.serve_static_assets = true
  17 + config.static_cache_control = 'public, max-age=3600'
  18 +
  19 + # Show full error reports and disable caching.
13 config.consider_all_requests_local = true 20 config.consider_all_requests_local = true
14 config.action_controller.perform_caching = false 21 config.action_controller.perform_caching = false
15 22
16 - # Raise exceptions instead of rendering exception templates 23 + # Raise exceptions instead of rendering exception templates.
17 config.action_dispatch.show_exceptions = false 24 config.action_dispatch.show_exceptions = false
18 25
19 - # Disable request forgery protection in test environment  
20 - config.action_controller.allow_forgery_protection = false 26 + # Disable request forgery protection in test environment.
  27 + config.action_controller.allow_forgery_protection = false
21 28
22 # Tell Action Mailer not to deliver emails to the real world. 29 # Tell Action Mailer not to deliver emails to the real world.
23 # The :test delivery method accumulates sent emails in the 30 # The :test delivery method accumulates sent emails in the
24 # ActionMailer::Base.deliveries array. 31 # ActionMailer::Base.deliveries array.
25 config.action_mailer.delivery_method = :test 32 config.action_mailer.delivery_method = :test
26 - config.action_mailer.default_url_options = { :host => 'test.host' }  
27 -  
28 - # Use SQL instead of Active Record's schema dumper when creating the test database.  
29 - # This is necessary if your schema can't be completely dumped by the schema dumper,  
30 - # like if you have constraints or database-specific column types  
31 - # config.active_record.schema_format = :sql  
32 33
33 - # Print deprecation notices to the stderr 34 + # Print deprecation notices to the stderr.
34 config.active_support.deprecation = :stderr 35 config.active_support.deprecation = :stderr
35 -end  
36 36
  37 + # Raises error for missing translations
  38 + # config.action_view.raise_on_missing_translations = true
  39 +end
config/initializers/assets.rb 0 → 100644
@@ -0,0 +1,11 @@ @@ -0,0 +1,11 @@
  1 +# Be sure to restart your server when you modify this file.
  2 +
  3 +# Version of your assets, change this if you want to expire all your assets.
  4 +Rails.application.config.assets.version = '1.0'
  5 +
  6 +# Precompile additional assets.
  7 +# application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
  8 +# Rails.application.config.assets.precompile += %w( search.js )
  9 +
  10 +# Need to initialize Rails environment for issue_tracker_icons.css.erb
  11 +Rails.application.config.assets.initialize_on_precompile = true
config/initializers/backtrace_silencers.rb
@@ -5,4 +5,3 @@ @@ -5,4 +5,3 @@
5 5
6 # You can also remove all the silencers if you're trying to debug a problem that might stem from framework code. 6 # You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
7 # Rails.backtrace_cleaner.remove_silencers! 7 # Rails.backtrace_cleaner.remove_silencers!
8 -  
config/initializers/cookies_serializer.rb 0 → 100644
@@ -0,0 +1,3 @@ @@ -0,0 +1,3 @@
  1 +# Be sure to restart your server when you modify this file.
  2 +
  3 +Rails.application.config.action_dispatch.cookies_serializer = :hybrid
config/initializers/devise.rb
1 # Use this hook to configure devise mailer, warden hooks and so forth. 1 # Use this hook to configure devise mailer, warden hooks and so forth.
2 # Many of these configuration options can be set straight in your model. 2 # Many of these configuration options can be set straight in your model.
3 Devise.setup do |config| 3 Devise.setup do |config|
  4 + # The secret key used by Devise. Devise uses this key to generate
  5 + # random tokens. Changing this key will render invalid all existing
  6 + # confirmation, reset password and unlock tokens in the database.
  7 + # config.secret_key = '2970917daf24e79762e7f370c2121b17417d729bdc587874c769b298a580824ff79b4cfd8ad6f3da94c6bbd1d5e12b483dbd2fd78b343777adc1fd15692dbcb2'
  8 +
4 # ==> Mailer Configuration 9 # ==> Mailer Configuration
5 # Configure the e-mail address which will be shown in Devise::Mailer, 10 # Configure the e-mail address which will be shown in Devise::Mailer,
6 - # note that it will be overwritten if you use your own mailer class with default "from" parameter. 11 + # note that it will be overwritten if you use your own mailer class
  12 + # with default "from" parameter.
7 config.mailer_sender = Errbit::Config.email_from 13 config.mailer_sender = Errbit::Config.email_from
8 14
9 # Configure the class responsible to send e-mails. 15 # Configure the class responsible to send e-mails.
10 - # config.mailer = "Devise::Mailer" 16 + # config.mailer = 'Devise::Mailer'
11 17
12 # ==> ORM configuration 18 # ==> ORM configuration
13 # Load and configure the ORM. Supports :active_record (default) and 19 # Load and configure the ORM. Supports :active_record (default) and
@@ -50,19 +56,16 @@ Devise.setup do |config| @@ -50,19 +56,16 @@ Devise.setup do |config|
50 56
51 # Tell if authentication through HTTP Auth is enabled. False by default. 57 # Tell if authentication through HTTP Auth is enabled. False by default.
52 # It can be set to an array that will enable http authentication only for the 58 # It can be set to an array that will enable http authentication only for the
53 - # given strategies, for example, `config.http_authenticatable = [:token]` will  
54 - # enable it only for token authentication. The supported strategies are: 59 + # given strategies, for example, `config.http_authenticatable = [:database]` will
  60 + # enable it only for database authentication. The supported strategies are:
55 # :database = Support basic authentication with authentication key + password 61 # :database = Support basic authentication with authentication key + password
56 - # :token = Support basic authentication with token authentication key  
57 - # :token_options = Support token authentication with options as defined in  
58 - # http://api.rubyonrails.org/classes/ActionController/HttpAuthentication/Token.html  
59 # config.http_authenticatable = false 62 # config.http_authenticatable = false
60 63
61 - # If http headers should be returned for AJAX requests. True by default. 64 + # If 401 status code should be returned for AJAX requests. True by default.
62 # config.http_authenticatable_on_xhr = true 65 # config.http_authenticatable_on_xhr = true
63 66
64 - # The realm used in Http Basic Authentication. "Application" by default.  
65 - # config.http_authentication_realm = "Application" 67 + # The realm used in Http Basic Authentication. 'Application' by default.
  68 + # config.http_authentication_realm = 'Application'
66 69
67 # It will change confirmation, password recovery and other workflows 70 # It will change confirmation, password recovery and other workflows
68 # to behave the same regardless if the e-mail provided was right or wrong. 71 # to behave the same regardless if the e-mail provided was right or wrong.
@@ -70,30 +73,38 @@ Devise.setup do |config| @@ -70,30 +73,38 @@ Devise.setup do |config|
70 # config.paranoid = true 73 # config.paranoid = true
71 74
72 # By default Devise will store the user in session. You can skip storage for 75 # By default Devise will store the user in session. You can skip storage for
73 - # :http_auth and :token_auth by adding those symbols to the array below. 76 + # particular strategies by setting this option.
74 # Notice that if you are skipping storage for all authentication paths, you 77 # Notice that if you are skipping storage for all authentication paths, you
75 # may want to disable generating routes to Devise's sessions controller by 78 # may want to disable generating routes to Devise's sessions controller by
76 - # passing :skip => :sessions to `devise_for` in your config/routes.rb 79 + # passing skip: :sessions to `devise_for` in your config/routes.rb
77 config.skip_session_storage = [:http_auth] 80 config.skip_session_storage = [:http_auth]
78 81
  82 + # By default, Devise cleans up the CSRF token on authentication to
  83 + # avoid CSRF token fixation attacks. This means that, when using AJAX
  84 + # requests for sign in and sign up, you need to get a new CSRF token
  85 + # from the server. You can disable this option at your own risk.
  86 + # config.clean_up_csrf_token_on_authentication = true
  87 +
79 # ==> Configuration for :database_authenticatable 88 # ==> Configuration for :database_authenticatable
80 # For bcrypt, this is the cost for hashing the password and defaults to 10. If 89 # For bcrypt, this is the cost for hashing the password and defaults to 10. If
81 # using other encryptors, it sets how many times you want the password re-encrypted. 90 # using other encryptors, it sets how many times you want the password re-encrypted.
82 # 91 #
83 # Limiting the stretches to just one in testing will increase the performance of 92 # Limiting the stretches to just one in testing will increase the performance of
84 # your test suite dramatically. However, it is STRONGLY RECOMMENDED to not use 93 # your test suite dramatically. However, it is STRONGLY RECOMMENDED to not use
85 - # a value less than 10 in other environments. 94 + # a value less than 10 in other environments. Note that, for bcrypt (the default
  95 + # encryptor), the cost increases exponentially with the number of stretches (e.g.
  96 + # a value of 20 is already extremely slow: approx. 60 seconds for 1 calculation).
86 config.stretches = Rails.env.test? ? 1 : 10 97 config.stretches = Rails.env.test? ? 1 : 10
87 98
88 # Setup a pepper to generate the encrypted password. 99 # Setup a pepper to generate the encrypted password.
89 - config.pepper = "425f10f555c1a4718aff3370ef9dd2d97a21622beb0400fde6b52177375ddcbe37a2dac6af9bca835c988e00c32887ee940ba111a78eab48234d8799936d36b9" 100 + config.pepper = '425f10f555c1a4718aff3370ef9dd2d97a21622beb0400fde6b52177375ddcbe37a2dac6af9bca835c988e00c32887ee940ba111a78eab48234d8799936d36b9'
90 101
91 # ==> Configuration for :confirmable 102 # ==> Configuration for :confirmable
92 # A period that the user is allowed to access the website even without 103 # A period that the user is allowed to access the website even without
93 - # confirming his account. For instance, if set to 2.days, the user will be  
94 - # able to access the website for two days without confirming his account, 104 + # confirming their account. For instance, if set to 2.days, the user will be
  105 + # able to access the website for two days without confirming their account,
95 # access will be blocked just in the third day. Default is 0.days, meaning 106 # access will be blocked just in the third day. Default is 0.days, meaning
96 - # the user cannot access the website without confirming his account. 107 + # the user cannot access the website without confirming their account.
97 # config.allow_unconfirmed_access_for = 2.days 108 # config.allow_unconfirmed_access_for = 2.days
98 109
99 # A period that the user is allowed to confirm their account before their 110 # A period that the user is allowed to confirm their account before their
@@ -106,8 +117,8 @@ Devise.setup do |config| @@ -106,8 +117,8 @@ Devise.setup do |config|
106 117
107 # If true, requires any email changes to be confirmed (exactly the same way as 118 # If true, requires any email changes to be confirmed (exactly the same way as
108 # initial account confirmation) to be applied. Requires additional unconfirmed_email 119 # initial account confirmation) to be applied. Requires additional unconfirmed_email
109 - # db field (see migrations). Until confirmed new email is stored in  
110 - # unconfirmed email column, and copied to email column on successful confirmation. 120 + # db field (see migrations). Until confirmed, new email is stored in
  121 + # unconfirmed_email column, and copied to email column on successful confirmation.
111 config.reconfirmable = true 122 config.reconfirmable = true
112 123
113 # Defines which key will be used when confirming an account 124 # Defines which key will be used when confirming an account
@@ -117,15 +128,18 @@ Devise.setup do |config| @@ -117,15 +128,18 @@ Devise.setup do |config|
117 # The time the user will be remembered without asking for credentials again. 128 # The time the user will be remembered without asking for credentials again.
118 config.remember_for = 2.weeks 129 config.remember_for = 2.weeks
119 130
  131 + # Invalidates all the remember me tokens when the user signs out.
  132 + config.expire_all_remember_me_on_sign_out = true
  133 +
120 # If true, extends the user's remember period when remembered via cookie. 134 # If true, extends the user's remember period when remembered via cookie.
121 # config.extend_remember_period = false 135 # config.extend_remember_period = false
122 136
123 # Options to be passed to the created cookie. For instance, you can set 137 # Options to be passed to the created cookie. For instance, you can set
124 - # :secure => true in order to force SSL only cookies. 138 + # secure: true in order to force SSL only cookies.
125 # config.rememberable_options = {} 139 # config.rememberable_options = {}
126 140
127 # ==> Configuration for :validatable 141 # ==> Configuration for :validatable
128 - # Range for password length. Default is 8..128. 142 + # Range for password length.
129 config.password_length = 6..1024 143 config.password_length = 6..1024
130 144
131 # Email regex used to validate email formats. It simply asserts that 145 # Email regex used to validate email formats. It simply asserts that
@@ -165,6 +179,9 @@ Devise.setup do |config| @@ -165,6 +179,9 @@ Devise.setup do |config|
165 # Time interval to unlock the account if :time is enabled as unlock_strategy. 179 # Time interval to unlock the account if :time is enabled as unlock_strategy.
166 # config.unlock_in = 1.hour 180 # config.unlock_in = 1.hour
167 181
  182 + # Warn on the last attempt before the account is locked.
  183 + # config.last_attempt_warning = true
  184 +
168 # ==> Configuration for :recoverable 185 # ==> Configuration for :recoverable
169 # 186 #
170 # Defines which key will be used when recovering the password for an account 187 # Defines which key will be used when recovering the password for an account
@@ -208,7 +225,7 @@ Devise.setup do |config| @@ -208,7 +225,7 @@ Devise.setup do |config|
208 # should add them to the navigational formats lists. 225 # should add them to the navigational formats lists.
209 # 226 #
210 # The "*/*" below is required to match Internet Explorer requests. 227 # The "*/*" below is required to match Internet Explorer requests.
211 - # config.navigational_formats = ["*/*", :html] 228 + # config.navigational_formats = ['*/*', :html]
212 229
213 # The default HTTP method used to sign out a resource. Default is :delete. 230 # The default HTTP method used to sign out a resource. Default is :delete.
214 config.sign_out_via = :delete 231 config.sign_out_via = :delete
@@ -216,7 +233,7 @@ Devise.setup do |config| @@ -216,7 +233,7 @@ Devise.setup do |config|
216 # ==> OmniAuth 233 # ==> OmniAuth
217 # Add a new OmniAuth provider. Check the wiki for more information on setting 234 # Add a new OmniAuth provider. Check the wiki for more information on setting
218 # up on your models and hooks. 235 # up on your models and hooks.
219 - # config.omniauth :github, 'APP_ID', 'APP_SECRET', :scope => 'user,public_repo' 236 + # config.omniauth :github, 'APP_ID', 'APP_SECRET', scope: 'user,public_repo'
220 237
221 if Errbit::Config.github_authentication || Rails.env.test? 238 if Errbit::Config.github_authentication || Rails.env.test?
222 config.omniauth :github, 239 config.omniauth :github,
@@ -232,7 +249,7 @@ Devise.setup do |config| @@ -232,7 +249,7 @@ Devise.setup do |config|
232 # 249 #
233 # config.warden do |manager| 250 # config.warden do |manager|
234 # manager.intercept_401 = false 251 # manager.intercept_401 = false
235 - # manager.default_strategies(:scope => :user).unshift :some_external_strategy 252 + # manager.default_strategies(scope: :user).unshift :some_external_strategy
236 # end 253 # end
237 254
238 # ==> Mountable engine configurations 255 # ==> Mountable engine configurations
@@ -240,12 +257,12 @@ Devise.setup do |config| @@ -240,12 +257,12 @@ Devise.setup do |config|
240 # is mountable, there are some extra configurations to be taken into account. 257 # is mountable, there are some extra configurations to be taken into account.
241 # The following options are available, assuming the engine is mounted as: 258 # The following options are available, assuming the engine is mounted as:
242 # 259 #
243 - # mount MyEngine, at: "/my_engine" 260 + # mount MyEngine, at: '/my_engine'
244 # 261 #
245 # The router that invoked `devise_for`, in the example above, would be: 262 # The router that invoked `devise_for`, in the example above, would be:
246 # config.router_name = :my_engine 263 # config.router_name = :my_engine
247 # 264 #
248 # When using omniauth, Devise cannot automatically set Omniauth path, 265 # When using omniauth, Devise cannot automatically set Omniauth path,
249 # so you need to do it manually. For the users scope, it would be: 266 # so you need to do it manually. For the users scope, it would be:
250 - # config.omniauth_path_prefix = "/my_engine/users/auth" 267 + # config.omniauth_path_prefix = '/my_engine/users/auth'
251 end 268 end
config/initializers/filter_parameter_logging.rb 0 → 100644
@@ -0,0 +1,4 @@ @@ -0,0 +1,4 @@
  1 +# Be sure to restart your server when you modify this file.
  2 +
  3 +# Configure sensitive parameters which will be filtered from the log file.
  4 +Rails.application.config.filter_parameters += [:password]
config/initializers/inflections.rb
1 # Be sure to restart your server when you modify this file. 1 # Be sure to restart your server when you modify this file.
2 2
3 -# Add new inflection rules using the following format  
4 -# (all these examples are active by default):  
5 -# ActiveSupport::Inflector.inflections do |inflect| 3 +# Add new inflection rules using the following format. Inflections
  4 +# are locale specific, and you may define rules for as many different
  5 +# locales as you wish. All of these examples are active by default:
  6 +# ActiveSupport::Inflector.inflections(:en) do |inflect|
6 # inflect.plural /^(ox)$/i, '\1en' 7 # inflect.plural /^(ox)$/i, '\1en'
7 # inflect.singular /^(ox)en/i, '\1' 8 # inflect.singular /^(ox)en/i, '\1'
8 # inflect.irregular 'person', 'people' 9 # inflect.irregular 'person', 'people'
9 # inflect.uncountable %w( fish sheep ) 10 # inflect.uncountable %w( fish sheep )
10 # end 11 # end
11 12
  13 +# These inflection rules are supported but not enabled by default:
  14 +# ActiveSupport::Inflector.inflections(:en) do |inflect|
  15 +# inflect.acronym 'RESTful'
  16 +# end
config/initializers/mime_types.rb
@@ -2,5 +2,3 @@ @@ -2,5 +2,3 @@
2 2
3 # Add new mime types for use in respond_to blocks: 3 # Add new mime types for use in respond_to blocks:
4 # Mime::Type.register "text/richtext", :rtf 4 # Mime::Type.register "text/richtext", :rtf
5 -# Mime::Type.register_alias "text/html", :iphone  
6 -  
config/initializers/secret_token.rb
@@ -1,35 +0,0 @@ @@ -1,35 +0,0 @@
1 -# Be sure to restart your server when you modify this file.  
2 -  
3 -# Your secret key for verifying the integrity of signed cookies.  
4 -# If you change this key, all old signed cookies will become invalid!  
5 -# Make sure the secret is at least 30 characters and all random,  
6 -# no regular words or you'll be exposed to dictionary attacks.  
7 -  
8 -# Everyone can share the same token for development/test  
9 -if ENV['SECRET_TOKEN'].present?  
10 - Errbit::Application.config.secret_token = ENV['SECRET_TOKEN']  
11 -  
12 - # Do not raise an error if secret token is not available during assets precompilation  
13 -elsif %w(development test).include?(Rails.env) || ENV['RAILS_GROUPS'] == 'assets'  
14 - Errbit::Application.config.secret_token = 'f258ed69266dc8ad0ca79363c3d2f945c388a9c5920fc9a1ae99a98fbb619f135001c6434849b625884a9405a60cd3d50fc3e3b07ecd38cbed7406a4fccdb59c'  
15 -elsif !Errbit::Application.config.secret_token  
16 - raise <<-ERROR  
17 -  
18 - You must generate a unique secret token for your Errbit instance.  
19 -  
20 - If you are deploying via capistrano, please ensure that your `config/deploy.rb` contains  
21 - the new `errbit:setup_configs` and `errbit:symlink_configs` tasks from `config/deploy.example.rb`.  
22 - Next time you deploy, your secret token will be automatically generated.  
23 -  
24 - If you are deploying to Heroku, please run the following command to set your secret token:  
25 - heroku config:add SECRET_TOKEN="$(bundle exec rake secret)"  
26 -  
27 - If you are deploying in some other way, please run the following command to generate a new secret token,  
28 - and commit the new `config/initializers/__secret_token.rb`:  
29 -  
30 - echo "Errbit::Application.config.secret_token = '$(bundle exec rake secret)'" > config/initializers/__secret_token.rb  
31 -  
32 - ERROR  
33 -end  
34 -  
35 -Devise.secret_key = Errbit::Application.config.secret_token  
config/initializers/session_store.rb
1 # Be sure to restart your server when you modify this file. 1 # Be sure to restart your server when you modify this file.
2 2
3 -Errbit::Application.config.session_store :cookie_store, :key => '_errbit_session' 3 +Rails.application.config.session_store :cookie_store, key: '_errbit_session'
4 4
5 # Use the database for sessions instead of the cookie-based default, 5 # Use the database for sessions instead of the cookie-based default,
6 # which shouldn't be used to store highly confidential information 6 # which shouldn't be used to store highly confidential information
7 # (create the session table with "rake db:sessions:create") 7 # (create the session table with "rake db:sessions:create")
8 -# Errbit::Application.config.session_store :active_record_store  
9 - 8 +# Rails.application.config.session_store :active_record_store
config/initializers/ssl_enforcer.rb
@@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
2 if Errbit::Config.enforce_ssl 2 if Errbit::Config.enforce_ssl
3 require 'rack/ssl-enforcer' 3 require 'rack/ssl-enforcer'
4 ActionMailer::Base.default_url_options.merge!(:protocol => 'https://') 4 ActionMailer::Base.default_url_options.merge!(:protocol => 'https://')
5 - Errbit::Application.configure do 5 + Rails.application.configure do
6 config.middleware.use Rack::SslEnforcer, :except => /^\/deploys/ 6 config.middleware.use Rack::SslEnforcer, :except => /^\/deploys/
7 end 7 end
8 end 8 end
config/initializers/wrap_parameters.rb 0 → 100644
@@ -0,0 +1,14 @@ @@ -0,0 +1,14 @@
  1 +# Be sure to restart your server when you modify this file.
  2 +
  3 +# This file contains settings for ActionController::ParamsWrapper which
  4 +# is enabled by default.
  5 +
  6 +# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
  7 +ActiveSupport.on_load(:action_controller) do
  8 + wrap_parameters format: [:json] if respond_to?(:wrap_parameters)
  9 +end
  10 +
  11 +# To enable root element in JSON for ActiveRecord objects.
  12 +# ActiveSupport.on_load(:active_record) do
  13 +# self.include_root_in_json = true
  14 +# end
config/routes.rb
1 -Errbit::Application.routes.draw do 1 +Rails.application.routes.draw do
2 2
3 devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" } 3 devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }
4 4
config/secrets.yml 0 → 100644
@@ -0,0 +1,22 @@ @@ -0,0 +1,22 @@
  1 +# Be sure to restart your server when you modify this file.
  2 +
  3 +# Your secret key is used for verifying the integrity of signed cookies.
  4 +# If you change this key, all old signed cookies will become invalid!
  5 +
  6 +# Make sure the secret is at least 30 characters and all random,
  7 +# no regular words or you'll be exposed to dictionary attacks.
  8 +# You can use `rake secret` to generate a secure secret key.
  9 +
  10 +# Make sure the secrets in this file are kept private
  11 +# if you're sharing your code publicly.
  12 +
  13 +development:
  14 + secret_key_base: f258ed69266dc8ad0ca79363c3d2f945c388a9c5920fc9a1ae99a98fbb619f135001c6434849b625884a9405a60cd3d50fc3e3b07ecd38cbed7406a4fccdb59c
  15 +
  16 +test:
  17 + secret_key_base: f258ed69266dc8ad0ca79363c3d2f945c388a9c5920fc9a1ae99a98fbb619f135001c6434849b625884a9405a60cd3d50fc3e3b07ecd38cbed7406a4fccdb59c
  18 +
  19 +# Do not keep production secrets in the repository,
  20 +# instead read values from the environment.
  21 +production:
  22 + secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>