Skip to content

Instantly share code, notes, and snippets.

@spk
Created November 27, 2016 19:36
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save spk/20e6c35a004a8657aed0a86ce3d7596d to your computer and use it in GitHub Desktop.
Save spk/20e6c35a004a8657aed0a86ce3d7596d to your computer and use it in GitHub Desktop.
diff --git a/app/models/version.rb b/app/models/version.rb
index e8eed16..a3a4ba1 100644
--- a/app/models/version.rb
+++ b/app/models/version.rb
@@ -36,10 +36,10 @@ class Version < ActiveRecord::Base
GemDownload.create!(count: 0, rubygem_id: rubygem_id, version_id: id)
end
- def self.reverse_dependencies(name)
+ def self.reverse_dependencies_by(**kwargs)
joins(dependencies: :rubygem)
.indexed
- .where(rubygems: { name: name })
+ .where(rubygems: kwargs)
end
def self.reverse_runtime_dependencies(name)
require 'benchmark/ips'
rails = Rubygem.find_by(name: 'rails')
Benchmark.ips do |x|
x.report("reverse_dependencies_name") do
Version.reverse_dependencies_by(name: rails.name)
end
x.report("reverse_dependencies_id") do
Version.reverse_dependencies_by(id: rails.id)
end
x.compare!
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment