No commit activity in last 3 years
No release in over 3 years
Inspect dependency files and retrieve the details
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.8
~> 10.0

Runtime

>= 0
 Project Readme

Dependency Inspector Circle CI Gem Version License

This gem is for analysing dependencies files such as Gemfile and list libraries with their information.

Currently only Gemfile is supported. Others will come to be supported

Installation

Add this line to your application's Gemfile:

gem 'dependency_inspector'

And then execute:

$ bundle

Or install it yourself as:

$ gem install dependency_inspector

Usage

NOTE: Since this is primitive project, the following usages is not ensured to be consistent for the future versions

# include this gem
require 'dependency_inspector'
gemfile_filepath = "#{Dir.pwd}/Gemfile"
di = DependencyInspector::RubyGemfile::Dsl.evaluate(gemfile_filepath)

It can handle the text as well

gemfile_txt = <<EOR
source 'https://rubygems.org'
gem 'rails'
EOR
di = DependencyInspector::RubyGemfile::Dsl.evaluate(gemfile_txt)

```ruby
dependency_info = di.resolve
# this takes time according to the amount of the dependency libraries
# currently library version is not supported (always return latest versoin info)
dependency_info.each do |i|
  p i["name"]              # => "rails"
  p i["downloads"]         # => 54525871
  p i["version"]           # => "4.2.4"
  p i["version_downloads"] # => 359907
  p i["platform"]          # => "ruby"
  p i["authors"]           # => "Dav..."
  p i["info"]              # => "Ruby"
  p i["licenses"]          # => ["MIT"]
  p i["metadata"]          # => {}
  p i["sha"]               # => "1c33de75..."
  p i["project_uri"]       # => "https://rubygems.org/gems/rails"
  p i["gem_uri"]           # => "https://rubygems.org/gems/rails-4.2.4.gem"
  p i["homepage_uri"]      # => "http://www.rubyonrails.org"
  p i["wiki_uri"]          # => "http://wiki.rubyonrails.org"
  p i["documentation_uri"] # => "http://api.rubyonrails.org"
  p i["mailing_list_uri"]  # => "http://groups.google.com/group/rubyonrails-talk"
  p i["source_code_uri"]   # => "http://github.com/rails/rails"
  p i["bug_tracker_uri"]   # => "http://github.com/rails/rails/issues"
  p i["dependencies"]      # => {"development"=>[], "runtime"=>[{"name"=>"actionmailer", "requirements"=>"= 4.2.4"}
end

TODO

  • Write test code
  • support for other languages and dependency managers

Development

After checking out the repo, run bin/setup to install dependencies. Then, run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine

bundle exec rake install

Do not forget to execute rubocop before pushing the changes.

rubocop

Contributing

1 Fork it ( https://github.com/travelist/dependency-inspector/fork )

2 Create your feature branch

git checkout -b my-new-feature

3 Commit your changes

git commit -am 'Add some feature'

4 Push to the branch

git push origin my-new-feature

5 Create a new Pull Request