Class: Rivulet::CLI::Commands::Generate::Handler::Step

Inherits:
Dry::CLI::Command
  • Object
show all
Defined in:
lib/rivulet/cli/generate/handler/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/handler/step.rb', line 12

def call(name:, **)
  handler_name, step_name = name.split('.')
  handler_dir    = underscore(handler_name)
  step_dir       = underscore(step_name)
  handler_module = camelize(handler_dir)
  step_class     = camelize(step_dir)
  base           = "app/handlers/#{handler_dir}"

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