Class: ServiceGenerator
- Inherits:
-
Rails::Generators::NamedBase
- Object
- Rails::Generators::NamedBase
- ServiceGenerator
- Includes:
- Rails::Generators::ModelHelpers
- Defined in:
- lib/generators/service/service_generator.rb
Instance Method Summary collapse
- #add_controller_helper_to_application_controller ⇒ Object
- #add_virtus_gem_to_gemfile ⇒ Object
- #create_base_dir ⇒ Object
- #create_service_dir ⇒ Object
- #generate_usecases ⇒ Object
Instance Method Details
#add_controller_helper_to_application_controller ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/generators/service/service_generator.rb', line 25 def add_controller_helper_to_application_controller application_controller_path = 'app/controllers/application_controller.rb' line = File.readlines(application_controller_path).select do |li| li =~ /class ApplicationController </ end.first inject_into_file application_controller_path, after: line do " include ServiceControllerHelper\n" end end |
#add_virtus_gem_to_gemfile ⇒ Object
37 38 39 |
# File 'lib/generators/service/service_generator.rb', line 37 def add_virtus_gem_to_gemfile gem 'virtus' end |
#create_base_dir ⇒ Object
19 20 21 22 23 |
# File 'lib/generators/service/service_generator.rb', line 19 def create_base_dir return if File.exist?('app/services') directory 'base', 'app/services' end |
#create_service_dir ⇒ Object
41 42 43 44 45 46 47 48 |
# File 'lib/generators/service/service_generator.rb', line 41 def create_service_dir return if File.exist?("app/services/#{service_name}") empty_directory("app/services/#{service_name}") empty_directory("app/services/#{service_name}/usecases") empty_directory("app/services/#{service_name}/commands") empty_directory("app/services/#{service_name}/errors") end |
#generate_usecases ⇒ Object
50 51 52 53 54 55 56 57 |
# File 'lib/generators/service/service_generator.rb', line 50 def generate_usecases usecases.each do |usecase| generate_usecase(usecase) generate_command(usecase) generate_error(usecase) generate_test(usecase) end end |