diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index a4a63a3..5cbaa6d 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -93,6 +93,7 @@ def project_params def dependencies @projects = Project.reviewed @dependencies = @projects.map(&:dependency_packages).flatten(1).group_by(&:itself).transform_values(&:count).sort_by{|k,v| v}.reverse.first(50) + @packages = Project.reviewed.select{|p| p.packages.present? }.map(&:packages).flatten(1) end def packages diff --git a/app/views/projects/dependencies.html.erb b/app/views/projects/dependencies.html.erb index 539682f..fa04486 100644 --- a/app/views/projects/dependencies.html.erb +++ b/app/views/projects/dependencies.html.erb @@ -22,8 +22,16 @@ <%= dependency[0] %> : <%= link_to dependency[1], "https://packages.ecosyste.ms/packages/lookup?ecosystem=#{dependency[0]}&name=#{dependency[1]}", target: :_blank %> <%= pluralize count, 'dependent project' %> + + <% package = @packages.find{|p| p['ecosystem'] == dependency[0] && p['name'] == dependency[1] } %> + <% if package %> + + <%= link_to '(in OST)', lookup_projects_path(url: package['repository_url']), method: :post %> + + <% end %> + <% end %> @@ -45,6 +53,12 @@ <%= pluralize count, 'dependent project' %> + <% package = @packages.find{|p| p['ecosystem'] == dependency[0] && p['name'] == dependency[1] } %> + <% if package %> + + <%= link_to '(in OST)', lookup_projects_path(url: package['repository_url']), method: :post %> + + <% end %> <% end %> diff --git a/config/routes.rb b/config/routes.rb index 667d2b5..3631ad3 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -37,6 +37,7 @@ resources :projects, constraints: { id: /.*/ } do collection do post :lookup + get :lookup get :review get :dependencies get :packages