Class: ServiceGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Includes:
Rails::Generators::ModelHelpers
Defined in:
lib/generators/service/service_generator.rb

Instance Method Summary collapse

Instance Method Details

#create_base_dirObject



12
13
14
# File 'lib/generators/service/service_generator.rb', line 12

def create_base_dir
  directory 'services', 'app/services' unless File.exist?('app/services')
end

#create_service_dirObject



16
17
18
19
20
21
# File 'lib/generators/service/service_generator.rb', line 16

def create_service_dir
  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

#create_usecasesObject



23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/generators/service/service_generator.rb', line 23

def create_usecases
  usecases.each do |usecase|
    @usecase = usecase
    u_path = "app/services/#{service_name}/usecases/#{usecase.underscore}.rb"
    c_path = "app/services/#{service_name}/commands/#{usecase.underscore}.rb"
    e_path = "app/services/#{service_name}/errors/#{usecase.underscore}.rb"

    template 'usecase.rb.erb', u_path
    template 'command.rb.erb', c_path
    template 'error.rb.erb',   e_path
  end
end