Sha256: 781f0b5c31cd0edcb6d0a1c0d437a97e9b2b76bd6201b3e888861cd08da3a2ae

Contents?: true

Size: 1.93 KB

Versions: 1

Compression:

Stored size: 1.93 KB

Contents

## Table of Contents

* [Scope](#scope)
  * [Alternatives](#alternatives)
    * [gem dep](#gem-dep)
    * [bundle viz](#bundle-viz)
* [Usage](#usage)
  * [Warning](#warning)
  * [Unique dependencies](#unique-dependencies)
  * [Recursive print](#recursive-print)

## Scope
This gem is aimed to list recursively the **runtime dependencies** footprint of the specified gem.

### Alternatives
Some alternatives exists: 

#### gem dep
The standard *gem dep* command just unearth one level of dependencies.

#### bundle viz
The *bundle viz* command relies on the Gemfile and the [graphviz](http://www.graphviz.org/) library to generate a visual representation of the gem inter-dependencies.  
While it is great to visualize inter-dependencies, i have hard times figuring out gem's  runtime footprint.

## Usage
The library relies on the *Gem::Commands::DependencyCommand* class (the one invoked by the *gem dep* command line), invoking it recursively to deeply fetch dependencies.

### Warning
Consider only the gems installed on your system are scanned for their own dependencies, no remote fetching is performed.

### Unique dependencies
The command outcome includes all of the unique (by name) nested runtime dependencies:
```
$ lapidarius --gem=grape

grape (1.0.1)               16
------------------------------
activesupport (>= 0)
builder (>= 0)
mustermann-grape (~> 1.0.0)
rack (>= 1.3.0)
rack-accept (>= 0)
virtus (>= 1.0.0)
i18n (~> 0.7)
minitest (~> 5.1)
thread_safe (>= 0.3.4, ~> 0.3)
tzinfo (~> 1.1)
mustermann (~> 1.0.0)
axiom-types (~> 0.1)
coercible (~> 1.0)
descendants_tracker (>= 0.0.3, ~> 0.0)
equalizer (>= 0.0.9, ~> 0.0)
ice_nine (~> 0.11.0)
```

### Recursive print
To print dependencies hierarchy recursively, provide the *--recursive* flag. Duplicates are not counted:  
```
$ lapidarius --gem=sinatra --recursive

sinatra (1.4.7)              3
------------------------------
rack (~> 1.5)
rack-protection (~> 1.4)
  rack (>= 0)
tilt (< 3, >= 1.3)

```

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
lapidarius-2.1.2 README.md