Class: PluginGenerator
- Inherits:
-
Mack::Generator::Base
- Object
- Mack::Generator::Base
- PluginGenerator
- Defined in:
- lib/generators/plugin_generator/plugin_generator.rb
Overview
Generates plugins for Mack applications.
Example:
rake generate:plugin name=my_cool_plugin
This will generate the following in your mack application:
vendor/plugins/my_cool_plugin
vendor/plugins/my_cool_plugin/init.rb
vendor/plugins/my_cool_plugin/lib
vendor/plugins/my_cool_plugin/lib/my_cool_plugin.rb
Instance Method Summary collapse
-
#generate ⇒ Object
:nodoc:.
Methods inherited from Mack::Generator::Base
#directory, #initialize, #param, require_param, required_params, #run, #template
Constructor Details
This class inherits a constructor from Mack::Generator::Base
Instance Method Details
#generate ⇒ Object
:nodoc:
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/generators/plugin_generator/plugin_generator.rb', line 14 def generate # :nodoc: plugin_dir = File.join(MACK_ROOT, "vendor", "plugins", param(:name).downcase) template_dir = File.join(File.dirname(__FILE__), "templates") # create vendor/plugins/<name> directory(plugin_dir) # create vendor/plugins/<name>/lib directory(File.join(plugin_dir, "lib")) # create vendor/plugins/<name>/init.rb template(File.join(template_dir, "init.rb.template"), File.join(plugin_dir, "init.rb")) # create vendor/plugins/<name>/lib/<name>.rb template(File.join(template_dir, "lib", "plugin.rb.template"), File.join(plugin_dir, "lib", "#{param(:name).downcase}.rb")) end |