Class: Adminsite::Generators::InstallGenerator

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

Instance Method Summary collapse

Instance Method Details

#after_generateObject



50
51
52
53
54
# File 'lib/generators/adminsite/install/install_generator.rb', line 50

def after_generate
  # puts "#{'*'*70}"
  # puts "If we need to say something after install we do it here."
  # puts "#{'*'*70}"
end

#run_generationObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/generators/adminsite/install/install_generator.rb', line 5

def run_generation
  # append_file 'Rakefile', "require 'adminsite/tasks'"
  run ('rails generate devise:install')
  template 'recipes/application.rb', 'lib/recipes/application.rb'

  template 'views/_admin_menu.html.haml', 'app/views/adminsite/admin/shared/_admin_menu.html.haml'

  template 'assets/adminsite.js', 'app/assets/javascripts/adminsite.js'
  template 'assets/adminsite.scss', 'app/assets/stylesheets/adminsite.scss'

  if File.exists?("#{destination_root}/app/views/layouts/application.html.erb")
    copy_file "#{destination_root}/app/views/layouts/application.html.erb",  'app/views/layouts/application.html.erb.onsolete'
  end

  ['public/index.html', 'app/views/layouts/application.html.erb'].each do |f|
    f = "#{destination_root}/#{f}"
    remove_file f if File.exists?(f)
  end

  inject_into_file 'config/routes.rb', after: /\ARails.application.routes.draw do/ do
    "\n  mount ::Adminsite::Engine => '/' \n"+
    "# Defines root path. If survey or other gem have to serve root_path u have to comment line below \n"+
    " root :to => 'adminsite/contents#show', :page_url => 'index' \n"
  end

  inject_into_file 'config/routes.rb', before: /end[\s]*\z/ do
    "# Should be last to render 404 if routing not found \n"+
    "\n  get '/:page_url(.:format)' => 'adminsite/contents#render_404'\n"
  end

  puts "Setting up CanCan"
  copy_file "#{Adminsite::Engine.root}/app/models/adminsite/ability.rb", 'app/models/adminsite/ability.rb'

  # initializers
  template 'config/initializers/adminsite.rb', 'config/initializers/adminsite.rb'

  # Locales
  copy_file "config/locales/adminsite.da.yml", 'config/locales/adminsite.da.yml'
  copy_file "config/locales/adminsite.en.yml", 'config/locales/adminsite.en.yml'

  rake "adminsite:install:migrations", :generate_only => true
  rake "db:migrate",                   :generate_only => true
  rake "adminsite:create_admin",       :generate_only => true
end