Sha256: ea191e7cc26b0a6232e6df17f65538b247c0f0a84967ebfe636321e44a834775
Contents?: true
Size: 1.06 KB
Versions: 1
Compression:
Stored size: 1.06 KB
Contents
require 'touch_erb' require 'thor' require 'erb' require 'fileutils' module TouchErb class CLI < Thor def initialize(*args) super @template_dir = TouchErb::TemplateDir.new end desc "add <source>", "Create new erb file" option :source, :type => :string def add(source) path = @template_dir.add(source) system("#{ENV['EDITOR']}", path) end desc "<template_name> <output_name>", "Create file to current directory from execute erb template" option :template_name, :type => :string option :output_name, :type => :string, :default => nil def touch(template_name, output_name = nil) dist_name = output_name || template_name if FileTest.exists?(dist_name) FileUtils.touch(dist_name) else File.open(dist_name, 'w') do |f| f.write(ERB.new(@template_dir.find(template_name) || "", nil, "%<>").result()) end end end desc "list", "Show erb templates" def list() @template_dir.list.each{ |name| puts name } end default_task :touch end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
touch_erb-0.2.0 | lib/touch_erb/cli.rb |