Class: Admin::Generators::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- Admin::Generators::InstallGenerator
- Includes:
- ActiveRecord::Generators::Migration
- Defined in:
- lib/generators/admin/install/install_generator.rb
Instance Method Summary collapse
- #add_field_error_proc ⇒ Object
- #add_gems ⇒ Object
- #add_routes ⇒ Object
- #create_controllers ⇒ Object
- #create_db_files ⇒ Object
- #create_fixture_file ⇒ Object
- #create_helpers ⇒ Object
- #create_images ⇒ Object
- #create_mailers ⇒ Object
- #create_models ⇒ Object
- #create_test_files ⇒ Object
- #create_views ⇒ Object
Instance Method Details
#add_field_error_proc ⇒ Object
[View source]
10 11 12 13 14 15 16 17 18 19 |
# File 'lib/generators/admin/install/install_generator.rb', line 10 def add_field_error_proc field_error_proc_code = <<~RUBY # Provides an HTML generator for displaying errors that come from Active Model config.action_view.field_error_proc = Proc.new do |html_tag, instance| raw Nokogiri::HTML.fragment(html_tag).child.add_class("is-invalid") end RUBY environment field_error_proc_code end |
#add_gems ⇒ Object
[View source]
21 22 23 24 25 26 |
# File 'lib/generators/admin/install/install_generator.rb', line 21 def add_gems uncomment_lines "Gemfile", /"bcrypt"/ gem "pagy", comment: "Use Pagy to add paginated results [https://github.com/ddnexus/pagy]" gem "ransack", comment: "Use Ransack to enable the creation of search forms for your application [https://github.com/activerecord-hackery/ransack]" gem "spreadsheet_architect", comment: "Spreadsheet Architect is a library that allows you to create XLSX, ODS, or CSV spreadsheets super easily [https://github.com/westonganger/spreadsheet_architect]" end |
#add_routes ⇒ Object
[View source]
62 63 64 65 66 67 68 69 |
# File 'lib/generators/admin/install/install_generator.rb', line 62 def add_routes route "resource :password_reset", namespace: :admin route "resources :users", namespace: :admin route "delete 'sign_out', to: 'sessions#destroy'", namespace: :admin route "post 'sign_in', to: 'sessions#create'", namespace: :admin route "get 'sign_in', to: 'sessions#new'", namespace: :admin route "get '/', to: 'home#index'", namespace: :admin end |
#create_controllers ⇒ Object
[View source]
42 43 44 |
# File 'lib/generators/admin/install/install_generator.rb', line 42 def create_controllers directory "controllers", "app/controllers" end |
#create_db_files ⇒ Object
[View source]
28 29 30 31 |
# File 'lib/generators/admin/install/install_generator.rb', line 28 def create_db_files copy_file "seeds.rb", "db/seeds.rb", force: true migration_template "migrations/create_admin_users.rb", "#{db_migrate_path}/create_admin_users.rb" end |
#create_fixture_file ⇒ Object
[View source]
38 39 40 |
# File 'lib/generators/admin/install/install_generator.rb', line 38 def create_fixture_file copy_file "test_unit/admin_users.yml", "test/fixtures/admin/users.yml" end |
#create_helpers ⇒ Object
[View source]
50 51 52 |
# File 'lib/generators/admin/install/install_generator.rb', line 50 def create_helpers directory "helpers", "app/helpers" end |
#create_images ⇒ Object
[View source]
58 59 60 |
# File 'lib/generators/admin/install/install_generator.rb', line 58 def create_images directory "images", "app/assets/images" end |
#create_mailers ⇒ Object
[View source]
54 55 56 |
# File 'lib/generators/admin/install/install_generator.rb', line 54 def create_mailers directory "mailers", "app/mailers" end |
#create_models ⇒ Object
[View source]
33 34 35 36 |
# File 'lib/generators/admin/install/install_generator.rb', line 33 def create_models directory "models/admin", "app/models/admin" copy_file "models/application_record.rb", "app/models/application_record.rb", force: true end |
#create_test_files ⇒ Object
[View source]
71 72 73 74 75 76 |
# File 'lib/generators/admin/install/install_generator.rb', line 71 def create_test_files directory "test_unit/controllers", "test/controllers" directory "test_unit/system", "test/system" copy_file "test_unit/test_helper.rb", "test/test_helper.rb", force: true copy_file "test_unit/application_system_test_case.rb", "test/application_system_test_case.rb", force: true end |
#create_views ⇒ Object
[View source]
46 47 48 |
# File 'lib/generators/admin/install/install_generator.rb', line 46 def create_views directory "erb", "app/views" end |