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