class TouchErb::CLI
Public Class Methods
new(*args)
click to toggle source
Calls superclass method
# File lib/touch_erb/cli.rb, line 12 def initialize(*args) super @template_dir = TouchErb::TemplateDir.new @local_template_dir = TouchErb::TemplateDir.new( File.join(Dir.pwd, '.touch_erb'), false ) end
Public Instance Methods
add(source)
click to toggle source
# File lib/touch_erb/cli.rb, line 25 def add(source) target_dir = @template_dir target_dir = @local_template_dir if options[:local] path = target_dir.add(source) system((ENV['EDITOR']).to_s, path) end
list()
click to toggle source
# File lib/touch_erb/cli.rb, line 53 def list if options[:local] @local_template_dir.list.each { |name| puts name } else (@template_dir.list + @local_template_dir.list).each { |name| puts name } end end
touch(template_name, output_name = nil)
click to toggle source
# File lib/touch_erb/cli.rb, line 35 def touch(template_name, output_name = nil) if template_name.start_with?("--") invoke :help return end write_file_name = output_name || template_name file_name = File.basename(write_file_name, '.*') if FileTest.exists?(file_name) FileUtils.touch(file_name) else File.open(write_file_name, 'w') do |f| f.write(ERB.new(@local_template_dir.find(template_name) || @template_dir.find(template_name) || '', nil, '%<>').result(binding)) end end end