Sha256: 1e24dc7b03d8da971c529f1dba4eb479690591057a944ad901241542d92de989

Contents?: true

Size: 758 Bytes

Versions: 1

Compression:

Stored size: 758 Bytes

Contents

require 'crack/json'
require 'net/http'

class Gemline

  def self.query(gem)
    gem = gem.to_s.gsub(/[^\w\-]+/,'')
    if (gem.empty?)
      puts "Usage: gemline [GEM NAME]"
      exit
    end
  
    doc = Net::HTTP.get(URI.parse("http://rubygems.org/api/v1/gems/#{gem}.json"))

    if doc.match(/could not be found/)
      puts "Rubygem #{gem} was not found on rubygems.org"
      exit
    else
      response = Crack::JSON.parse(doc)
      gemline = %Q{gem "#{gem}", "~> #{response['version']}"}  

      puts gemline

      begin
        if clipboard = IO.popen('pbcopy', 'r+')
          clipboard.puts gemline
          puts "  Gem line copied to your clipboard.  Ready to paste into your Gemfile"
        end
      rescue
      end
    end
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
gemline-0.0.2 lib/gemline.rb