Sha256: c9609798d446f55a7536184233f0269e706296498ecb39c54ff2188b4833c571

Contents?: true

Size: 1.16 KB

Versions: 2

Compression:

Stored size: 1.16 KB

Contents

#!/usr/bin/env ruby
require 'solidus_cmd'
require 'solidus_cmd/version'
require 'optparse'

# Print help if no options are supplied
ARGV << '--help' unless ARGV.first

if ARGV.first == 'extension' || ARGV.first == 'e'
  ARGV.shift
  if ARGV.first
    SolidusCmd::Extension.start
  else
    puts 'An extension must have a name!'
    puts `solidus -h`
  end
else
  Options = Struct.new(:name)

  # Used to parse options from the command line
  class Parser
    def self.parse(options)
      args = Options.new()

      opt_parser = OptionParser.new do |opts|
        opts.banner = 'Usage: solidus [[extension extension_name] | [-h] [-v]]'

        opts.on('-h',
                '--help',
                'Prints this help') do
          puts opts
        end

        opts.on('-v',
                '--version',
                "Prints the current version: #{SolidusCmd::VERSION}") do
          puts SolidusCmd::VERSION
        end
      end

      begin
        opt_parser.parse!(options)
      rescue OptionParser::InvalidOption => e
        puts e
        puts "Try 'solidus --help' for more information."
        exit 1
      end

      args
    end
  end

  Parser.parse(ARGV)
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
solidus_cmd-1.4.0 bin/solidus
solidus_cmd-1.3.0 bin/solidus