Sha256: 8869b1efcd0b77f52c7dbcdd40f2ad5105a5dee135a8af2603e449a7875e96d4
Contents?: true
Size: 1.97 KB
Versions: 2
Compression:
Stored size: 1.97 KB
Contents
$NITRO_NO_ENVIRONMENT = true require 'facet/dir/self/recurse' require 'gen' require 'nitro' # gen part - Nitro part generator. # # This generator copies a part into your # existing Nitro application. # Be sure to be in it's main directory # when calling this generator. # # === Example # # gen part partname class PartGen < Gen def setup @partname = ARGV[0] || usage() @lib_path = File.expand_path(File.join("lib", "part")) @public_path = File.expand_path(File.join("public", "part")) end def part_directory(partname) part_paths = Array.new $:.each do |in_load_path| dir=Dir.new(in_load_path) rescue next dir.each do |a| part_paths << File.expand_path(File.join("#{in_load_path}","#{a}")) if a.to_s == "part" end end if part_paths.size < 1 STDERR.puts "ERROR: part not found! Aborting!" exit 1 end part_paths.each do |p| Dir.new(p).each do |name| return "#{p}/#{name}" if name == partname end end STDERR.puts "ERROR: part not found! Aborting!" exit 1 end def run if File.exists?(File.join(@lib_path, @partname)) STDERR.puts "ERROR: Path #{@lib_path} already exists! Aborting!" exit 1 end # Copying Part to current directory /lib puts "Copying #{@partname} dir to '#{@lib_path}/#{@partname}'" FileUtils.mkdir_p(@lib_path) part_src = part_directory(@partname) FileUtils.cp_r(part_src, @lib_path) FileUtils.cp("#{part_src}.rb", @lib_path) # Moving public stuff to apps public/ dir if present if File.directory?(File.join("#{@lib_path}", "#{@partname}", "public")) puts "Moving #{@partname} public dir to #{@public_path}/#{@partname}" FileUtils.mkdir_p(File.join(@public_path, @partname)) FileUtils.mv(Dir.glob(File.join(@lib_path, @partname, "public", "*")), File.join(@public_path, @partname)) else puts "Part doesn't have public/ directory, skipping." end puts 'Done' end end $generator = PartGen.new
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
gen-0.41.0 | lib/gen/part/gen.rb |
gen-0.40.0 | lib/gen/part/gen.rb |