Class: AdminPanel::Generators::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- AdminPanel::Generators::InstallGenerator
- Defined in:
- lib/generators/admin_panel/install/install_generator.rb
Instance Attribute Summary collapse
-
#app_name ⇒ Object
readonly
Returns the value of attribute app_name.
Instance Method Summary collapse
- #copy_assets ⇒ Object
- #copy_helpers ⇒ Object
- #copy_layout ⇒ Object
- #copy_scaffold ⇒ Object
- #create_admin_model ⇒ Object
- #create_routes ⇒ Object
- #install_devise ⇒ Object
- #install_simple_form ⇒ Object
- #show_install_message ⇒ Object
Instance Attribute Details
#app_name ⇒ Object (readonly)
Returns the value of attribute app_name.
19 20 21 |
# File 'lib/generators/admin_panel/install/install_generator.rb', line 19 def app_name @app_name end |
Instance Method Details
#copy_assets ⇒ Object
32 33 34 |
# File 'lib/generators/admin_panel/install/install_generator.rb', line 32 def copy_assets directory 'assets', 'app/assets' end |
#copy_helpers ⇒ Object
36 37 38 |
# File 'lib/generators/admin_panel/install/install_generator.rb', line 36 def copy_helpers directory 'helpers', 'app/helpers' end |
#copy_layout ⇒ Object
21 22 23 24 25 26 27 28 29 30 |
# File 'lib/generators/admin_panel/install/install_generator.rb', line 21 def copy_layout @app_name = ::Rails.application.class.to_s.split("::").first.humanize extension = "html.#{options[:template_engine]}" template "layouts/admin/application.#{extension}", "app/views/layouts/admin/application.#{extension}" [ '_messages', '_navigation'].each do |file| filename = "#{file}.#{extension}" copy_file "layouts/admin/#{filename}", "app/views/layouts/admin/#{filename}" end end |
#copy_scaffold ⇒ Object
40 41 42 43 |
# File 'lib/generators/admin_panel/install/install_generator.rb', line 40 def copy_scaffold directory 'controllers', 'app/controllers' directory 'views', 'app/views' end |
#create_admin_model ⇒ Object
45 46 47 48 49 50 |
# File 'lib/generators/admin_panel/install/install_generator.rb', line 45 def create_admin_model invoke 'active_record:devise', ['admin'], ['--routes', false] append_to_file 'db/seeds.rb', %Q( Admin.create!({ email: '[email protected]', password: 'administrator' }) ) end |
#create_routes ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/generators/admin_panel/install/install_generator.rb', line 52 def create_routes route %Q( devise_for :admin, :only => [:sessions, :passwords], :controllers => { :sessions => 'admin/sessions', :passwords => 'admin/passwords' } namespace :admin do get '/', to: 'dashboard#index', as: :dashboard end ) end |
#install_devise ⇒ Object
11 12 13 |
# File 'lib/generators/admin_panel/install/install_generator.rb', line 11 def install_devise invoke 'devise:install' end |
#install_simple_form ⇒ Object
15 16 17 |
# File 'lib/generators/admin_panel/install/install_generator.rb', line 15 def install_simple_form invoke 'simple_form:install', [], ['--bootstrap'] end |
#show_install_message ⇒ Object
64 65 66 |
# File 'lib/generators/admin_panel/install/install_generator.rb', line 64 def readme "README" end |