class Schienenzeppelin::AddOns::Errors

Public Instance Methods

apply() click to toggle source
# File lib/schienenzeppelin/addons/errors.rb, line 8
def apply
  say 'Setting up custom error pages'
  add_errors
  setup_public
  add_routes
  patch_turbolinks
end

Private Instance Methods

add_errors() click to toggle source
# File lib/schienenzeppelin/addons/errors.rb, line 24
      def add_errors
        directory('app/views/errors', 'app/views/errors')
        template('app/controllers/errors_controller.rb.erb', 'app/controllers/errors_controller.rb')
        inject_into_file 'config/application.rb', before: /^ {2}end\n/ do
          <<-RUBY
    # Enable custom error pages
    config.exceptions_app = routes
          RUBY
        end
      end
add_routes() click to toggle source
# File lib/schienenzeppelin/addons/errors.rb, line 35
      def add_routes
        inject_into_file 'config/routes.rb', before: /^end/ do
          <<-RUBY
  get '/404', to: 'errors#not_found'
  get '/422', to: 'errors#unacceptable'
  get '/500', to: 'errors#internal_error'
          RUBY
        end
      end
setup_public() click to toggle source
# File lib/schienenzeppelin/addons/errors.rb, line 18
def setup_public
  template('public/500.html.erb', 'public/500.html', force: true)
  remove_file('public/404.html')
  remove_file('public/422.html')
end