Sha256: 744a54323ed41a2e1647d92f02677ebbd9d77c6f846f4fce968defc36381f753

Contents?: true

Size: 1009 Bytes

Versions: 6

Compression:

Stored size: 1009 Bytes

Contents

require 'mercenary'
require_relative 'make_sprue'
require_relative 'new'

module Squib
  class CLI

    def run
      Mercenary.program(:squib) do |p|
        p.version Squib::VERSION
        p.description 'A Ruby DSL for prototyping card games'
        p.syntax 'squib <subcommand> [options]'

        p.command(:new) do |c|
          c.syntax 'new PATH'
          c.description 'Creates a new basic Squib project scaffolding in PATH. Must be a new directory or already empty.'

          c.option 'advanced', '--advanced', 'Create the advanced layout'

          c.action do |args, options|
            advanced = options.key? 'advanced'
            Squib::Commands::New.new.process(args, advanced)
          end
        end

        p.command(:make_sprue) do |c|
          c.syntax 'make_sprue'
          c.description 'Creates a sprue definition file.'

          c.action do |args, options|
            Squib::Commands::MakeSprue.new.process(args)
          end
        end

      end
    end

  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
squib-0.19.0 lib/squib/commands/cli.rb
squib-0.19.0b lib/squib/commands/cli.rb
squib-0.19.0a lib/squib/commands/cli.rb
squib-0.15.2 lib/squib/commands/cli.rb
squib-0.15.1 lib/squib/commands/cli.rb
squib-0.14.2 lib/squib/commands/cli.rb