diff options
Diffstat (limited to 'railties/doc/guides/creating_plugins/custom_generator.txt')
-rw-r--r-- | railties/doc/guides/creating_plugins/custom_generator.txt | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/railties/doc/guides/creating_plugins/custom_generator.txt b/railties/doc/guides/creating_plugins/custom_generator.txt deleted file mode 100644 index 6d9613ea01..0000000000 --- a/railties/doc/guides/creating_plugins/custom_generator.txt +++ /dev/null @@ -1,69 +0,0 @@ -== Add a custom generator command == - -You may have noticed above that you can used one of the built-in rails migration commands `m.migration_template`. You can create your own commands for these, using the following steps: - - 1. Add the require and hook statements to init.rb. - 2. Create the commands - creating 3 sets, Create, Destroy, List. - 3. Add the method to your generator. - -Working with the internals of generators is beyond the scope of this tutorial, but here is a basic example: - -[source, ruby] ------------------------------------------------------------ -# File: vendor/plugins/yaffle/init.rb -require "commands" -Rails::Generator::Commands::Create.send :include, Yaffle::Generator::Commands::Create -Rails::Generator::Commands::Destroy.send :include, Yaffle::Generator::Commands::Destroy -Rails::Generator::Commands::List.send :include, Yaffle::Generator::Commands::List ------------------------------------------------------------ - -[source, ruby] ------------------------------------------------------------ -# File: vendor/plugins/yaffle/lib/commands.rb - -require 'rails_generator' -require 'rails_generator/commands' - -module Yaffle #:nodoc: - module Generator #:nodoc: - module Commands #:nodoc: - module Create - def yaffle_definition - file("definition.txt", "definition.txt") - end - end - - module Destroy - def yaffle_definition - file("definition.txt", "definition.txt") - end - end - - module List - def yaffle_definition - file("definition.txt", "definition.txt") - end - end - end - end -end ------------------------------------------------------------ - ------------------------------------------------------------ -# File: vendor/plugins/yaffle/generators/yaffle/templates/definition.txt - -Yaffle is a bird ------------------------------------------------------------ - -[source, ruby] ------------------------------------------------------------ -# File: vendor/plugins/yaffle/generators/yaffle/yaffle_generator.rb - -class YaffleGenerator < Rails::Generator::NamedBase - def manifest - m.yaffle_definition - end -end ------------------------------------------------------------ - -This example just uses the built-in "file" method, but you could do anything that Ruby allows. |