class Aid::Script

Attributes

argv[R]

Public Class Methods

description() click to toggle source
# File lib/aid/script.rb, line 38
def self.description
  ''
end
help() click to toggle source
# File lib/aid/script.rb, line 22
    def self.help
      <<~HELP
        Help has not been implemented for "#{name}". Please implement a
        help method like so:

        class #{self} < Aid::Script
          def self.help
            <<-EOF
            My awesome help message here.
            This will be so useful for people.
            EOF
          end
        end
      HELP
    end
name() click to toggle source
# File lib/aid/script.rb, line 8
def self.name
  klass_name = to_s.split('::').last

  klass_name
    .scan(/[A-Z][a-z0-9]*/)
    .map(&:downcase)
    .join('-')
end
new(*argv) click to toggle source
# File lib/aid/script.rb, line 52
def initialize(*argv)
  @argv = *argv
end
run(*argv) click to toggle source
# File lib/aid/script.rb, line 56
def self.run(*argv)
  new(*argv).run
end

Public Instance Methods

description() click to toggle source
# File lib/aid/script.rb, line 46
def description
  self.class.description
end
exit_code() click to toggle source
# File lib/aid/script.rb, line 64
def exit_code
  0
end
exit_with_help!() click to toggle source
# File lib/aid/script.rb, line 17
def exit_with_help!
  puts self.class.help
  exit
end
help() click to toggle source
# File lib/aid/script.rb, line 42
def help
  self.class.help
end
project_root() click to toggle source
# File lib/aid/script.rb, line 78
def project_root
  Aid.project_root
end
run() click to toggle source
# File lib/aid/script.rb, line 60
def run
  raise NotImplementedError
end
step(name) { || ... } click to toggle source
# File lib/aid/script.rb, line 73
def step(name)
  puts colorize(:info, "\n== #{name} ==")
  yield if block_given?
end
system!(*args) click to toggle source
# File lib/aid/script.rb, line 68
def system!(*args)
  puts colorize(:command, args.join(' '))
  system(*args) || abort(colorize(:error, "\n== Command #{args} failed =="))
end
within_dir(directory) { || ... } click to toggle source
# File lib/aid/script.rb, line 82
def within_dir(directory, &block)
  old_pwd = Dir.pwd
  directory = File.expand_path(directory)

  Dir.chdir(directory)

  yield
ensure
  Dir.chdir(old_pwd)
end

Private Instance Methods

aid_directory() click to toggle source
# File lib/aid/script.rb, line 95
def aid_directory
  './.aid'
end