Sha256: b9570c4a8cdb37fc3661ab5e994e3b08779d8fa0b2bf59a53a72c14a6823f62e

Contents?: true

Size: 1.25 KB

Versions: 2

Compression:

Stored size: 1.25 KB

Contents

#!/usr/bin/env ruby
require 'rubygems'
require 'gemstalker'

def usage
  puts ""
  puts "Usage:" 
  puts ""
  puts "  stalk <username> <repository> [version]"
  puts ""
  puts "Begins stalking a gem at the specified location e.g. stalk techinicalpickles jeweler"
  puts ""
end

if ARGV.length == 0 || ARGV.include?("-h") || ARGV.include?("--help")
  usage
  exit
end

trap "SIGINT" do
  puts ""
  puts "Stopping"
  exit
end

options = {:username => ARGV[0], :repository => ARGV[1]}
options[:version] = ARGV[2] if ARGV.length >= 3
stalker = GemStalker.new(options)

$stdout.sync = true

if ARGV.length < 3
  puts "Using version #{stalker.version}"
end

unless stalker.gem?
  puts "The repository is not configured as a rubygem"
  puts "Configure the property in the Admin tab of the repository"
  exit
end

waiting = false

puts "Checking to see if the gem has been built"
loop do
  if stalker.built?
    puts "" if waiting
    puts "=> Zomg, it's built, I'm so telling everyone" 
    break    
  end
  print "."
  waiting = true
  sleep(5)
end

waiting = false

puts "Checking to see if it is in the specfile"
loop do
  if stalker.in_specfile?
    puts "" if waiting
    puts "=> Sweeeet, everyone can install it now"
    break    
  end
  print "."
  waiting = true
  sleep(5)
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
jeffrafter-gemstalker-0.2.0 bin/stalk
jeffrafter-gemstalker-0.2.1 bin/stalk