2015-03-28 2 views
0

Я учусь писать генераторы. В качестве отправной точки я использовал генератор эхолота Rails.Предотвращение создания генератора от генераторов тестов

require 'rails/generators/resource_helpers' 
module Rails 
    module Generators 
    class ScaffoldControllerGenerator < NamedBase # :nodoc: 
     include ResourceHelpers 

     check_class_collision suffix: "Controller" 

     class_option :helper, type: :boolean 
     class_option :orm, banner: "NAME", type: :string, required: true, 
         desc: "ORM to generate the controller for" 

     argument :attributes, type: :array, default: [], banner: "field:type field:type" 

     def create_controller_files 
     template "controller.rb", File.join('app/controllers', controller_class_path, "#{controller_file_name}_controller.rb") 
     end 

     #hook_for :template_engine, :test_framework, as: :scaffold 
    end 
    end 
end 

Как вы можете видеть, я закомментировал hook_for, надеясь, что это не зацепит тестовые рамочные генераторы. Однако, когда я запускаю этот генератор, тесты все еще генерируются. Кроме того, я также хочу пропустить создание jbuilder и помощников. Вот список всех вещей генерироваться:

create app/controllers/books_controller.rb 
    invoke erb 
    create app/views/books 
    create app/views/books/index.html.erb 
    create app/views/books/edit.html.erb 
    create app/views/books/show.html.erb 
    create app/views/books/new.html.erb 
    create app/views/books/_form.html.erb 
    invoke test_unit 
    create test/controllers/books_controller_test.rb 
    invoke helper 
    create app/helpers/books_helper.rb 
    invoke test_unit 
    invoke jbuilder 
    create app/views/books/index.json.jbuilder 
    create app/views/books/show.json.jbuilder 

Как Skil генерации тест/помощник/JBuilder, настроив свой собственный генератор?

+0

Вы уверены, что используете ваш генератор? Распечатайте некоторые отладочные операторы в 'create_controller_files'. –

ответ

0

Я понял, что на самом деле я обезвреживаю обезьяны одного и того же класса генератора, поэтому исходная настройка все равно останется нетронутой.

Я должен удалить эти крючки вручную.

 remove_hook_for :jbuilder, :test_framework 
Смежные вопросы