Sha256: 96d9c4fbd785b2d809bddc0e5947dde8f8b352125b1cb2b6f8164a84973f4f3b
Contents?: true
Size: 1.69 KB
Versions: 1
Compression:
Stored size: 1.69 KB
Contents
#!/usr/bin/env ruby require 'optparse' require 'fileutils' require 'erb' gem_base = File.expand_path(File.dirname(__FILE__) + '/..') require gem_base + '/lib/distribution' new = false parameters = '' OptionParser.new do |opts| opts.banner = 'Usage: distribution [--new] [--params parameters] distribution' opts.on('-n', '--new', 'Create a new template for distribution') do new = true end opts.on('-PMANDATORY', '--params MANDATORY', String, 'Parameters for distribution') do |n_param| parameters = ", #{n_param}" end opts.on('-h', '--help', 'Show this message') do puts opts exit end begin ARGV << '-h' if ARGV.empty? opts.parse!(ARGV) rescue OptionParser::ParseError => e STDERR.puts e.message, "\n", opts exit(-1) end end ARGV.each do |distribution| if new basename = distribution.downcase fail 'You should be inside distribution lib directory' unless File.exist? '../distribution.rb' fail 'Distribution already created' if File.exist? basename + '.rb' main = ERB.new(File.read(gem_base + '/data/template/distribution.erb')) ruby = ERB.new(File.read(gem_base + '/data/template/distribution/ruby.erb')) gsl = ERB.new(File.read(gem_base + '/data/template/distribution/gsl.erb')) spec = ERB.new(File.read(gem_base + '/data/template/spec.erb')) FileUtils.mkdir(basename) unless File.exist? basename File.open(basename + '.rb', 'w') { |fp| fp.write(main.result(binding)) } File.open(basename + '/ruby.rb', 'w') { |fp| fp.write(ruby.result(binding)) } File.open(basename + '/gsl.rb', 'w') { |fp| fp.write(gsl.result(binding)) } File.open("../../spec/#{basename}_spec.rb", 'w') { |fp| fp.write(spec.result(binding)) } end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
distribution-0.8.0 | bin/distribution |