OpenProject is the leading open source project management software.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openproject/lib/generators/open_project/plugin/plugin_generator.rb

45 lines
878 B

11 years ago
class OpenProject::PluginGenerator < Rails::Generators::Base
source_root File.expand_path('../templates', __FILE__)
argument :plugin_name, :type => :string, :default => "openproject-new-plugin"
argument :root_folder, :type => :string, :default => "vendor/gems"
# every public method is run when the generator is invoked
def generate_plugin
plugin_dir
lib_dir
end
def full_name
@full_name ||= begin
"openproject-#{plugin_name}"
end
end
private
def raise_on_params
puts plugin_name
puts root_folder
end
def plugin_path
"#{root_folder}/openproject-#{plugin_name}"
end
def plugin_dir
@plugin_dir ||= begin
directory('', plugin_path, :recursive => false)
11 years ago
end
end
def lib_path
"#{plugin_path}/lib"
end
def lib_dir
@lib_dir ||= begin
directory('lib', lib_path)
end
end
end