class Aid::Scripts::New
Public Class Methods
description()
click to toggle source
# File lib/aid/scripts/new.rb, line 6 def self.description 'Generates a new script in the aid directory' end
help()
click to toggle source
# File lib/aid/scripts/new.rb, line 10 def self.help <<~HELP Usage: aid new [script name] Generates a new script file in the aid script directory. Example: #{colorize(:green, '$ aid new my-script-name')} will generate a new script called my_script_name.rb HELP end
Public Instance Methods
run()
click to toggle source
# File lib/aid/scripts/new.rb, line 20 def run exit_with_help! unless script_name check_for_aid_directory! step "Creating #{output_path}" do File.open(output_path, 'wb') do |fp| fp.write(template) end puts print 'Successfully created ' puts colorize(:green, output_path) end end
Private Instance Methods
check_for_aid_directory!()
click to toggle source
# File lib/aid/scripts/new.rb, line 45 def check_for_aid_directory! return if Dir.exist?(aid_directory) abort "The #{colorize(:green, aid_directory)} directory is "\ "missing. Please run #{colorize(:green, 'aid init')} to create it." end
class_name()
click to toggle source
# File lib/aid/scripts/new.rb, line 69 def class_name script_name .split('-') .map { |token| token[0].upcase + token[1..-1] } .join end
output_filename()
click to toggle source
# File lib/aid/scripts/new.rb, line 41 def output_filename "#{script_name.tr('-', '_')}.rb" end
output_path()
click to toggle source
# File lib/aid/scripts/new.rb, line 37 def output_path "#{aid_directory}/#{output_filename}" end
script_name()
click to toggle source
# File lib/aid/scripts/new.rb, line 76 def script_name argv.first end
template()
click to toggle source
# File lib/aid/scripts/new.rb, line 52 def template <<~RUBY class #{class_name} < Aid::Script def self.description "FILL ME IN" end def self.help <<~HELP Fill me in. HELP end def run end end RUBY end