Class: Rivulet::CLI::Commands::Generate::Service::Step

Inherits:
Dry::CLI::Command
  • Object
show all
Defined in:
lib/rivulet/cli/generate/service/step.rb

Instance Method Summary collapse

Instance Method Details

#call(name:) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/rivulet/cli/generate/service/step.rb', line 12

def call(name:, **)
  service_name, step_name = name.split('.')
  service_dir    = underscore(service_name)
  step_dir       = underscore(step_name)
  service_module = camelize(service_dir)
  step_class     = camelize(step_dir)
  base           = "app/services/#{service_dir}"

  write "#{base}/steps/#{step_dir}.rb", step_template(service_module, step_class)
  register_step(base, service_module, step_dir, step_class)
end