Skip to content

Latest commit

 

History

History
58 lines (52 loc) · 1.58 KB

File metadata and controls

58 lines (52 loc) · 1.58 KB

gemfileparser

Parse Ruby Gemfile's using Python. Supports Gemfiles and .gemspec files.

Installation

If using pip, use the command sudo pip install gemfileparser
Else use the following commands

git clone https://github.com/balasankarc/gemfileparser.git
cd gemfileparser
python setup.py install

Usage

from gemfileparser import GemfileParser
parser = GemfileParser(<path to Gemfile>, <name of the application (optional)>)
dependency_dictionary = parser.parse()

The parse() method returns a dict object of the following format

{
'development': [list of dependency objects inside group 'development'],
'runtime': [list of runtime dependency objects],
.
.
.}

Each dependency object contains the following attributes

name - Name of the gem
requirement - Version requirement
autorequire - Autorequire value
source - Source URL of the gem
parent - Dependency of which gem
group - Group in which gem is a member of (default : runtime)

Example

from gemfileparser import GemfileParser
n = GemfileParser('Gemfile', 'diaspora')
deps = n.parse()
for key in deps:
   if deps[key]:
       print key
       for dependency in deps[key]:
           print "\t", dependency

Copyright

2015-2018 Balasankar C [email protected]

License

gemfileparser is dual-licensed under GNU GPL version 3 (or above) License and MIT License.

Personally, I prefer anyone using this to respect the GPL license and use that itself for derivative works - thus making them also Free Software. But, your call.