diff options
author | Austin Ziegler <austin@zieglers.ca> | 2015-11-22 11:00:01 -0500 |
---|---|---|
committer | Austin Ziegler <austin@zieglers.ca> | 2015-11-22 11:00:01 -0500 |
commit | ec073069a4a2479c0aad7cc4688ff0558e569262 (patch) | |
tree | 1d7899835090740b5adf06441a0808a07ef4dc53 | |
parent | 88304979a95e5fed98e2896613d31cff4174d6fe (diff) | |
download | mime-types-ec073069a4a2479c0aad7cc4688ff0558e569262.tar.gz |
Adding a utility to prioritize deps updates
Taken liberally from @schneems gist for top fifty dependencies.
https://gist.github.com/schneems/e09c95da37a8c50047a8
-rw-r--r-- | Rakefile | 32 |
1 files changed, 32 insertions, 0 deletions
@@ -208,6 +208,38 @@ namespace :convert do task docs: 'convert:docs:run' end +task 'deps:top', [ :number ] do |_, args| + require 'net/http' + require 'json' + + def rubygems_get(gem_name: '', endpoint: '') + path = File.join('/api/v1/gems/', gem_name, endpoint).chomp('/') + '.json' + Net::HTTP.start('rubygems.org', use_ssl: true) do |http| + JSON.parse(http.get(path).body) + end + end + + results = rubygems_get( + gem_name: 'mime-types', + endpoint: 'reverse_dependencies' + ) + + weighted_results = {} + results.each do |name| + begin + weighted_results[name] = rubygems_get(gem_name: name)['downloads'] + rescue => e + puts "#{name} #{e.message}" + end + end + + weighted_results.sort { |(_k1, v1), (_k2, v2)| + v2 <=> v1 + }.first(args.number || 50).each_with_index do |(k, v), i| + puts "#{i}) #{k}: #{v}" + end +end + task :console do arguments = %w(pry) arguments.push(*spec.spec.require_paths.map { |dir| "-I#{dir}" }) |