Sha256: 7e23b95abba6052fd6b26f1c39586f11d17c66ebeb0caf09760898be6bbd8bd1
Contents?: true
Size: 1.93 KB
Versions: 4
Compression:
Stored size: 1.93 KB
Contents
require 'erb' require 'fileutils' module GGem class Template def initialize(ggem) @gem = ggem end def save save_folder # (gem root path) save_folder "lib/#{@gem.ruby_name}" save_folder "test/support" save_folder "test/system" save_folder "test/unit" save_folder "log" save_folder "tmp" save_file('gitignore.erb', '.gitignore') save_file('Gemfile.erb', 'Gemfile') save_file('gemspec.erb', "#{@gem.name}.gemspec") save_file('Rakefile.erb', 'Rakefile') save_file('README.md.erb', 'README.md') save_file('LICENSE.txt.erb', 'LICENSE.txt') save_file('lib.rb.erb', "lib/#{@gem.ruby_name}.rb") save_file('lib_version.rb.erb', "lib/#{@gem.ruby_name}/version.rb") save_file('test_helper.rb.erb', 'test/helper.rb') save_file('test_support_factory.rb.erb', 'test/support/factory.rb') save_empty_file('log/.gitkeep') save_empty_file('tmp/.gitkeep') end def init cmd = "cd #{@gem.path} &&"\ " git init && git add --all &&"\ " git add -f log/.gitkeep && git add -f tmp/.gitkeep" `#{cmd}` end private def save_folder(relative_path=nil) path = File.join([@gem.path, relative_path].compact) FileUtils.mkdir_p(path) end def save_empty_file(relative_path) path = File.join(@gem.path, relative_path) FileUtils.touch(path) end def save_file(source, output) source_file = File.join(File.dirname(__FILE__), 'template_file', source) output_file = File.join(@gem.root_path, @gem.name, output) if File.exists?(source_file) FileUtils.mkdir_p(File.dirname(output_file)) erb = ERB.new(File.read(source_file)) File.open(output_file, 'w') {|f| f << erb.result(binding) } else raise ArgumentError, "the source file '#{source_file}' does not exist" end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
ggem-1.6.3 | lib/ggem/template.rb |
ggem-1.6.2 | lib/ggem/template.rb |
ggem-1.6.1 | lib/ggem/template.rb |
ggem-1.6.0 | lib/ggem/template.rb |