4 attr_accessor :meta, :plugin_name, :mod_name
5 def initialize(name, description, author, license, version, url, timeout)
6 @meta = {:name => name,
7 :description => description,
15 def create_metadata_string
16 ddl_template = File.read(File.join(File.dirname(__FILE__), "templates", "ddl.erb"))
17 ERB.new(ddl_template, nil, "-").result(binding)
20 def create_plugin_string
21 plugin_template = File.read(File.join(File.dirname(__FILE__), "templates", "plugin.erb"))
22 ERB.new(plugin_template, nil, "-").result(binding)
27 Dir.mkdir @plugin_name
28 dirname = File.join(@plugin_name, @mod_name.downcase)
30 puts "Created plugin directory : #{@plugin_name}"
32 File.open(File.join(dirname, "#{@plugin_name}.ddl"), "w"){|f| f.puts @ddl}
33 puts "Created DDL file : #{File.join(dirname, "#{@plugin_name}.ddl")}"
35 File.open(File.join(dirname, "#{@plugin_name}.rb"), "w"){|f| f.puts @plugin}
36 puts "Created #{@mod_name} file : #{File.join(dirname, "#{@plugin_name}.rb")}"
38 raise "cannot generate '#{@plugin_name}' : plugin directory already exists."
40 FileUtils.rm_rf(@plugin_name) if File.directory?(@plugin_name)
41 raise "cannot generate plugin - #{e}"