Class: Carload::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/carload/install_generator.rb

Instance Method Summary collapse

Instance Method Details

#add_requireObject



13
14
15
16
17
18
19
# File 'lib/generators/carload/install_generator.rb', line 13

def add_require
  return if File.read('config/application.rb') =~ /require ['|"]carload['|"]/
  inject_into_file 'config/application.rb', after: "Bundler.require(*Rails.groups)\n" do "require 'carload'\n  RUBY\n  end\nend\n"

#copy_dashboard_fileObject



26
27
28
# File 'lib/generators/carload/install_generator.rb', line 26

def copy_dashboard_file
  copy_file 'dashboard.rb', 'app/carload/dashboard.rb'
end

#copy_initializerObject



21
22
23
24
# File 'lib/generators/carload/install_generator.rb', line 21

def copy_initializer
  return if File.exist? 'config/initializers/carload.rb'
  copy_file 'carload.rb', 'config/initializers/carload.rb'
end

#copy_migration_filesObject



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/generators/carload/install_generator.rb', line 30

def copy_migration_files
  # Copy migrations if necessary.
  if (Carload.search_engine rescue nil) == :pg_search
    adapter = ActiveRecord::Base.connection.instance_values["config"][:adapter]
    if adapter != 'postgresql'
      raise InvalidError.new("Database adapter #{adapter} cannot work with pg_search!")
    end
    case I18n.locale
    when :'zh-CN'
      ['20161030074822_carload_enable_zhparser_extension.rb'].each do |file|
        copy_file "#{Carload::Engine.root}/db/migrate/#{file}", "db/migrate/#{file}"
      end
    end
  end
end

#mount_routesObject



5
6
7
8
9
10
11
# File 'lib/generators/carload/install_generator.rb', line 5

def mount_routes
  return if File.read('config/routes.rb').include? 'mount Carload::Engine'
  inject_into_file 'config/routes.rb', after: "Rails.application.routes.draw do\n" do "  mount Carload::Engine => '/carload'\n  RUBY\n  end\nend\n"