Class: Railspress::Generators::EntityGenerator
- Inherits:
-
Rails::Generators::NamedBase
- Object
- Rails::Generators::NamedBase
- Railspress::Generators::EntityGenerator
- Includes:
- ActiveRecord::Generators::Migration
- Defined in:
- lib/generators/railspress/entity/entity_generator.rb
Instance Method Summary collapse
- #add_registration ⇒ Object
- #create_migration ⇒ Object
- #create_model_file ⇒ Object
- #show_next_steps ⇒ Object
Instance Method Details
#add_registration ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/generators/railspress/entity/entity_generator.rb', line 25 def add_registration initializer_file = "config/initializers/railspress.rb" unless File.exist?(initializer_file) create_file initializer_file, " # frozen_string_literal: true\n\n Railspress.configure do |config|\n # Register your CMS-managed entities here\n # config.register_entity Project\n end\n RUBY\n say_status :created, \"RailsPress initializer\", :green\n end\n\n inject_into_file initializer_file, after: \"Railspress.configure do |config|\\n\" do\n \" config.register_entity \#{class_name}\\n\"\n end\n\n say_status :registered, \"\#{class_name} entity\", :green\nend\n" |
#create_migration ⇒ Object
21 22 23 |
# File 'lib/generators/railspress/entity/entity_generator.rb', line 21 def create_migration migration_template "migration.rb.tt", File.join(db_migrate_path, "create_#{table_name}.rb") end |
#create_model_file ⇒ Object
17 18 19 |
# File 'lib/generators/railspress/entity/entity_generator.rb', line 17 def create_model_file template "model.rb.tt", File.join("app/models", "#{file_name}.rb") end |
#show_next_steps ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/generators/railspress/entity/entity_generator.rb', line 47 def show_next_steps say "" say "=" * 60, :green say " Entity #{class_name} created!", :green say "=" * 60, :green say "" say "Next steps:", :yellow say "" say " 1. Run the migration:" say " $ rails db:migrate", :cyan say "" say " 2. Restart your Rails server" say "" say " 3. Access #{class_name} in the admin:" say " /railspress/admin/entities/#{table_name}", :cyan say "" say "=" * 60, :green end |