Class: Serviceable::Generators::ScaffoldGenerator
- Inherits:
-
Rails::Generators::NamedBase
- Object
- Rails::Generators::NamedBase
- Serviceable::Generators::ScaffoldGenerator
- Defined in:
- lib/generators/serviceable/scaffold_generator.rb
Instance Method Summary collapse
- #generate_base_service ⇒ Object
- #generate_create_service ⇒ Object
- #generate_destroy_service ⇒ Object
- #generate_index_service ⇒ Object
- #generate_presenter ⇒ Object
- #generate_show_service ⇒ Object
- #generate_update_service ⇒ Object
- #show_completion_message ⇒ Object
Instance Method Details
#generate_base_service ⇒ Object
21 22 23 24 25 26 27 |
# File 'lib/generators/serviceable/scaffold_generator.rb', line 21 def generate_base_service say "Generating BaseService, Repository and Locale...", :green args = [ name ] args << "--skip_repository" if [:skip_repository] args << "--skip_locale" if [:skip_locale] generate "serviceable:base", *args end |
#generate_create_service ⇒ Object
43 44 45 46 47 48 |
# File 'lib/generators/serviceable/scaffold_generator.rb', line 43 def generate_create_service return if [:skip_create] say "Generating Create service...", :green generate "serviceable:create", *service_generator_args end |
#generate_destroy_service ⇒ Object
57 58 59 60 61 62 |
# File 'lib/generators/serviceable/scaffold_generator.rb', line 57 def generate_destroy_service return if [:skip_destroy] say "Generating Destroy service...", :green generate "serviceable:destroy", *service_generator_args end |
#generate_index_service ⇒ Object
29 30 31 32 33 34 |
# File 'lib/generators/serviceable/scaffold_generator.rb', line 29 def generate_index_service return if [:skip_index] say "Generating Index service...", :green generate "serviceable:index", *service_generator_args end |
#generate_presenter ⇒ Object
64 65 66 67 68 69 |
# File 'lib/generators/serviceable/scaffold_generator.rb', line 64 def generate_presenter return unless [:presenter] say "Generating Presenter...", :green generate "better_service:presenter", name end |
#generate_show_service ⇒ Object
36 37 38 39 40 41 |
# File 'lib/generators/serviceable/scaffold_generator.rb', line 36 def generate_show_service return if [:skip_show] say "Generating Show service...", :green generate "serviceable:show", *service_generator_args end |
#generate_update_service ⇒ Object
50 51 52 53 54 55 |
# File 'lib/generators/serviceable/scaffold_generator.rb', line 50 def generate_update_service return if [:skip_update] say "Generating Update service...", :green generate "serviceable:update", *service_generator_args end |
#show_completion_message ⇒ Object
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
# File 'lib/generators/serviceable/scaffold_generator.rb', line 71 def say "\n" + "=" * 80 say "Scaffold generation completed! 🎉", :green say "=" * 80 say "\nGenerated base infrastructure:" say " - #{class_name}::BaseService (app/services/#{file_name}/base_service.rb)" say " - #{class_name}Repository (app/repositories/#{file_name}_repository.rb)" unless [:skip_repository] say " - I18n locale (config/locales/#{file_name}_services.en.yml)" unless [:skip_locale] say "\nGenerated services (inheriting from #{class_name}::BaseService):" say " - #{class_name}::IndexService" unless [:skip_index] say " - #{class_name}::ShowService" unless [:skip_show] say " - #{class_name}::CreateService" unless [:skip_create] say " - #{class_name}::UpdateService" unless [:skip_update] say " - #{class_name}::DestroyService" unless [:skip_destroy] say " - #{class_name}Presenter (app/presenters)" if [:presenter] say "\nNext steps:" say " 1. Review and customize the generated services" say " 2. Update schemas with your specific validations" say " 3. Run the tests: rails test test/services/#{file_name}\n\n" end |