Search code examples
ruby-on-rails-3ruby-on-rails-4

How to rename rails 4 app?


rails plugin install git://github.com/get/Rename.git will allow us to rename only rails 3 app

Is there any gem available to rename Rails 4 app.

If not, suggest me the better way to rename.


Solution

  • Since rails 4.1.x, if you want to rename your application, the only two files you need to modify are config/application.rb:

    require File.expand_path('../boot', __FILE__)
    
    require 'rails/all'
    
    # Require the gems listed in Gemfile, including any gems
    # you've limited to :test, :development, or :production.
    Bundler.require(*Rails.groups)
    
    module YourApplicationName # <-- rename it here
       class Application < Rails::Application
         ...
       end
    end
    

    and config/initializers/session_store.rb (optional):

    # Be sure to restart your server when you modify this file.
    
    Rails.application.config.session_store :cookie_store, key: '_your_application_name_session' # <-- rename the key
    

    For Rails 4.0.x you can use the rename gem and execute the following command:

    rails g rename:app_to New-Name
    

    This will update the necessary files for you:

    old/ (master)  › rails g rename:app_to new
    Search and replace module in to...
        gsub  config.ru
        gsub  Gemfile
        gsub  Gemfile.lock
        gsub  Rakefile
        gsub  README.md
        gsub  config/application.rb
        gsub  config/boot.rb
        gsub  config/environment.rb
        gsub  config/environments/development.rb
        gsub  config/environments/production.rb
        gsub  config/environments/test.rb
        gsub  config/initializers/backtrace_silencers.rb
        gsub  config/initializers/filter_parameter_logging.rb
        gsub  config/initializers/inflections.rb
        gsub  config/initializers/load_class_extensions.rb
        gsub  config/initializers/mime_types.rb
        gsub  config/initializers/secret_token.rb
        gsub  config/initializers/session_store.rb
        gsub  config/initializers/update.rb
        gsub  config/initializers/wrap_parameters.rb
        gsub  config/routes.rb
        gsub  config/initializers/session_store.rb
    Renaming references...
    Renaming directory...Done!
    New application path is '/Users/username/code/new'