Sha256: 33de2928fb41534893f29bbcf95408e79f40f74c82ced8a4d89ce0de3b6e9945

Contents?: true

Size: 1022 Bytes

Versions: 1

Compression:

Stored size: 1022 Bytes

Contents

#!/usr/bin/env ruby

require 'gemrepo'
require 'optparse'

options = {:port => 1234, :gemdir => File.expand_path("~/.gemrepo"), :handler => Rack::Handler::WEBrick }

parser = OptionParser.new do |opts|
  opts.banner = "USAGE: gemrepo [options]"

  opts.separator ""
  opts.on "-p", "--port PORT", "use PORT (default: #{options[:port]})" do |port|
    options[:port] = port
  end

  opts.on "-d", "--directory DIR", "use DIR as gem directory (default: #{options[:gemdir]})" do |dir|
    options[:gemdir] = dir
  end

  opts.on "-s", "--server SERVER", "server to use (webrick/mongrel/thin, default: webrick)" do |s|
    case s
    when 'mongrel'
      options[:handler] = Rack::Handler::Mongrel
    when 'thin'
      options[:handler] = Rack::Handler::Thin
    else
      # default: webrick
    end
  end

  opts.on "-h", "--help" do
    puts opts
    exit
  end

end

parser.parse!(ARGV)

GemRepo.set :gemdir, options[:gemdir]
FileUtils.mkdir_p options[:gemdir]

options[:handler].run GemRepo, :Port => options[:port]




Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
gemrepo-0.1.0 bin/gemrepo