Class: Railsmith::Generators::OperationGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Defined in:
lib/generators/railsmith/operation/operation_generator.rb

Overview

Scaffolds a domain operation class that returns ‘Railsmith::Result`.

Default mode (no –namespace):

  • rails g railsmith:operation Billing::Invoices::Create -> app/domains/billing/invoices/create.rb -> module Billing; module Invoices; class Create

With –namespace (backward compat / explicit interstitial):

  • rails g railsmith:operation Billing::Invoices::Create –namespace=Operations -> app/domains/billing/operations/invoices/create.rb -> module Billing; module Operations; module Invoices; class Create

Namespaced domain (–domain):

  • rails g railsmith:operation Admin::Billing::Invoices::Create –domain=Admin::Billing -> app/domains/admin/billing/invoices/create.rb

Instance Method Summary collapse

Instance Method Details

#create_operationObject



41
42
43
44
45
46
47
# File 'lib/generators/railsmith/operation/operation_generator.rb', line 41

def create_operation
  relative_target = File.join(options.fetch(:domains_path), target_file)
  return if skip_existing_file?(relative_target)

  empty_directory File.dirname(File.join(destination_root, relative_target))
  template "operation.rb.tt", relative_target
end