Sha256: 4d07e1c8b28f9e381d0ba0e0fd39d5975c3aa82b3d9cfe5be5b06ccfca204614

Contents?: true

Size: 1.24 KB

Versions: 3

Compression:

Stored size: 1.24 KB

Contents

#!/usr/bin/ruby
$: << File.expand_path(File.dirname(__FILE__) + '/../lib') 

require 'gli'
require 'support/scaffold'

include GLI
desc 'Be verbose'
switch :v

desc 'Print version'
switch :version

desc 'Dry run; don\'t change the disk'
switch :n

desc 'Root dir of project'
default_value '.'
flag [:r,:root]

desc 'Create a new GLI-based project'
arg_name 'project_name [command[ command]*]'
command [:init,:scaffold] do |c|

  c.desc 'Create an ext dir'
  c.switch [:e,:ext]

  c.desc 'Do not create a test dir'
  c.switch [:notest]

  c.desc 'Overwrite/ignore existing files and directories'
  c.switch [:force]

  c.action do |g,o,args|
    if args.length < 1
      raise(MissingArgumentException,'You must specify the name of your project')
    end
    Scaffold.create_scaffold(g[:r],!o[:notest],o[:e],args[0],args[1..-1],o[:force],g[:n])
  end
end

pre do |global,command,options,args|
  if (!command || command.name == :help) && global[:version]
    puts "#{$0} v#{GLI::VERSION}"
    false
  else
    puts "Executing #{command.name}" if global[:v]
    true
  end
end

post do |global,command,options,args|
  puts "Executed #{command.name}" if global[:v]
end

#on_error do |global,command,options,args|
#  puts "Got an error" if global[:v]
#  true
#end

run(ARGV)

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
davetron5000-gli-0.1.5 bin/gli
davetron5000-gli-0.1.6 bin/gli
gli-0.1.6 bin/gli