Class: Coalla::Cms::SetupAdminGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Defined in:
lib/generators/coalla/cms/setup_admin_generator.rb

Instance Method Summary collapse

Instance Method Details

#copy_localizationObject



20
21
22
23
# File 'lib/generators/coalla/cms/setup_admin_generator.rb', line 20

def copy_localization
  copy_file 'locales/admin.ru.yml', 'config/locales/admin.ru.yml'
  copy_file 'locales/admin.en.yml', 'config/locales/admin.en.yml'
end

#copy_structureObject



16
17
18
# File 'lib/generators/coalla/cms/setup_admin_generator.rb', line 16

def copy_structure
  copy_file 'structure.rb', 'config/structure.rb'
end

#install_ckeditorObject



57
58
59
# File 'lib/generators/coalla/cms/setup_admin_generator.rb', line 57

def install_ckeditor
  generate 'coalla:cms:wysiwyg:ckeditor'
end

#patch_application_controllerObject



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/generators/coalla/cms/setup_admin_generator.rb', line 29

def patch_application_controller
  gsub_file 'app/controllers/application_controller.rb', /protect_from_forgery with: :exception/ do |match|
    c = <<-RUBY

  layout :layout_by_resource

  def layout_by_resource
    if devise_controller? && resource_name === :administrator
'admin'
    else
'application'
    end
  end

  def after_sign_in_path_for(resource)
    case resource
when Administrator
  admin_dashboard_path
else
  root_path
    end
  end
    RUBY
    match << c
  end
end

#setup_default_viewsObject



25
26
27
# File 'lib/generators/coalla/cms/setup_admin_generator.rb', line 25

def setup_default_views
  invoke 'coalla:cms:create_admin_administrators'
end

#setup_directoryObject



10
11
12
13
14
# File 'lib/generators/coalla/cms/setup_admin_generator.rb', line 10

def setup_directory
  invoke 'coalla:cms:create_admin'
  invoke 'coalla:cms:setup_routes'
  invoke 'coalla:cms:create_admin_login_view'
end