class PryGem::GemStat
@since 1.0.0
Constants
- FAIL_WHALE
- STAT_HOST
- STAT_PATH
- STAT_PORT
Public Instance Methods
process(name)
click to toggle source
# File lib/pry-gem/gem_stat.rb, line 32 def process(name) client = Net::HTTP.start STAT_HOST, STAT_PORT, use_ssl: true res = client.get STAT_PATH % URI.encode_www_form_component(name) case res when Net::HTTPOK _pry_.pager.page format_gem(JSON.parse(res.body)) when Net::HTTPServiceUnavailable _pry_.pager.page <<-FAILURE #{bright_blue(FAIL_WHALE)} #{bright_red('Ruby On Rails')} #{bright_red('Net::HTTPServiceUnavailable')} FAILURE else raise Pry::CommandError, "Bad response (#{res.class})" end ensure client.finish if client end
Private Instance Methods
format_dependencies(rdeps)
click to toggle source
# File lib/pry-gem/gem_stat.rb, line 79 def format_dependencies(rdeps) return bold('None') if rdeps.empty? with_line_numbers( rdeps.map { |h| "#{h['name']} (#{h['requirements']})" }.join("\n"), 1, :bold ) end
format_gem(h)
click to toggle source
# File lib/pry-gem/gem_stat.rb, line 53 def format_gem(h) h = Pry::Config.from_hash(h) format_str = unindent <<-FORMAT %{name} %{version} -- Total Downloads : %{downloads} Version Downloads : %{version_downloads} #{red('Dependencies')} (runtime) -- %{rdependencies} #{red('Dependencies')} (development) %{ddependencies} FORMAT format( format_str, name: green(h.name), version: bold("v#{h.version}"), downloads: h.downloads, version_downloads: h.version_downloads, rdependencies: format_dependencies(h.dependencies.runtime), ddependencies: format_dependencies(h.dependencies.development) ) end