Class: Aid::Scripts::New

Inherits:
Aid::Script show all
Defined in:
lib/aid/scripts/new.rb

Constant Summary

Constants included from Colorize

Colorize::COLOR_CODES

Instance Attribute Summary

Attributes inherited from Aid::Script

#argv

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Aid::Script

#description, #exit_code, #exit_with_help!, #help, #initialize, name, #project_root, run, #step, #system!

Methods included from Inheritable

included

Methods included from Colorize

colorize, included

Constructor Details

This class inherits a constructor from Aid::Script

Class Method Details

.descriptionObject



6
7
8
# File 'lib/aid/scripts/new.rb', line 6

def self.description
  'Generates a new script in the aid directory'
end

.helpObject



10
11
12
13
14
15
16
17
18
# 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

Instance Method Details

#runObject



20
21
22
23
24
25
26
27
28
29
30
31
32
33
# 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