Sha256: 63b1b1520eafba8948b93b91f4e7e9775f9f597802a74ba36c17247f3d30126e
Contents?: true
Size: 1.26 KB
Versions: 1
Compression:
Stored size: 1.26 KB
Contents
require 'rubygems/gemcutter_utilities' require 'crack' require 'unindent' class Gem::Commands::WhoisCommand < Gem::Command include Gem::GemcutterUtilities def description 'Perform a whois lookup based on a gem name so you can see if it is available or not' end def arguments "GEM name of gem" end def usage "#{program_name} GEM" end def initialize super 'whois', description end def execute whois get_one_gem_name end def whois(gem_name) response = rubygems_api_request(:get, "api/v1/gems/#{gem_name}.json") do |request| request.set_form_data("gem_name" => gem_name) end with_response(response) do |resp| json = Crack::JSON.parse(resp.body) puts <<-STR.unindent gem name: #{json['name']} owners: #{json['authors']} info: #{json['info']} version: #{json['version']} downloads: #{json['downloads']} STR end end def with_response(resp) case resp when Net::HTTPSuccess block_given? ? yield(resp) : say(resp.body) else if resp.body == 'This rubygem could not be found.' puts '','Gem not found. It will be mine. Oh yes. It will be mine. *sinister laugh*','' else say resp.body end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
gemwhois-0.2.1 | lib/rubygems/commands/whois_command.rb |