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, <<~RUBY # frozen_string_literal: true Railspress.configure do |config| # Register your CMS-managed entities here # config.register_entity Project end RUBY say_status :created, "RailsPress initializer", :green end inject_into_file initializer_file, after: "Railspress.configure do |config|\n" do " config.register_entity #{class_name}\n" end say_status :registered, "#{class_name} entity", :green end |
#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 |