Class: Spree::ControllerDecoratorGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Defined in:
lib/generators/spree/controller_decorator/controller_decorator_generator.rb

Overview

spree:controller_decorator — generate a decorator file for an existing Spree controller. Mirrors the model_decorator generator but handles arbitrary namespace depth (Spree::ProductsController, Spree::Admin::ProductsController, Spree::Api::V3::Store::ProductsController).

Examples:

bin/rails g spree:controller_decorator Spree::ProductsController
  => app/controllers/spree/products_controller_decorator.rb

bin/rails g spree:controller_decorator Spree::Admin::ProductsController
  => app/controllers/spree/admin/products_controller_decorator.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.source_pathsObject



19
20
21
22
23
# File 'lib/generators/spree/controller_decorator/controller_decorator_generator.rb', line 19

def self.source_paths
  paths = superclass.source_paths
  paths << File.expand_path('templates', __dir__)
  paths.flatten
end

Instance Method Details

#create_controller_decorator_fileObject



25
26
27
28
# File 'lib/generators/spree/controller_decorator/controller_decorator_generator.rb', line 25

def create_controller_decorator_file
  template 'controller_decorator.rb.tt',
           "app/controllers/#{file_path}_decorator.rb"
end