class Scrag::Runner

Public Class Methods

run(*arguments) click to toggle source
# File lib/scrag/runner.rb, line 10
def self.run *arguments
  new.run(arguments)
end

Public Instance Methods

header() click to toggle source
# File lib/scrag/runner.rb, line 22
def header
  puts "Scrag : scaffolding Ruby compilers (#{VERSION})- (c) JC Le Lann 20"
end
run(arguments) click to toggle source
# File lib/scrag/runner.rb, line 14
def run arguments
  compiler=Compiler.new
  compiler.options = options = parse_options(arguments)
  if project=options[:project_name]
    compiler.compile project
  end
end

Private Instance Methods

parse_options(arguments) click to toggle source
# File lib/scrag/runner.rb, line 27
def parse_options(arguments)
  header

  parser = OptionParser.new

  options = {}

  parser.on("-h", "--help", "Show help message") do
    puts parser
    print_help_message
    exit(true)
  end

  parser.on("--vv", "verbose") do
    options[:verbose] = true
  end

  parser.on("--force", "force creation, even if file structure already exists") do
    options[:force] = true
  end

  parser.on("-v", "--version", "Show version number") do
    puts VERSION
    exit(true)
  end

  parser.parse!(arguments)

  options[:project_name]=arguments.shift #the remaining c file

  unless options[:project_name]
    puts parser
    print_help_message
  end

  options
end
print_help_message() click to toggle source