README.md in lapidarius-3.4.0 vs README.md in lapidarius-4.0.1

- old
+ new

@@ -2,63 +2,69 @@ * [Scope](#scope) * [Alternatives](#alternatives) * [gem dep](#gem-dep) * [bundle viz](#bundle-viz) -* [Warning](#warning) * [Installation](#installation) * [Usage](#usage) * [Version](#version) + * [Remote](#remote) ## Scope This gem is aimed to recursively collect the `runtime dependencies` footprint of the specified gem. The output of the library mimics the `tree` shell utility, highlighting the nested dependencies via ASCII characters. ### Alternatives Some alternatives exists: #### gem dep -The standard *gem dep* command just unearth one level of dependencies. +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. +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. -## Warning -Consider only the gems local to your system are scanned by the library. -No remote fetching is performed. - ## Installation Install the gem from your shell: ```shell gem install lapidarius ``` ## Usage This library invokes the `Gem::Commands::DependencyCommand` class recursively to collect all the levels of dependency. -Both runtime and development dependencies are counted (identical dependencies are counted once). -Just the runtime dependencies tree is printed to screen: +Both runtime and development dependencies are counted (identical dependencies are counted once), but just the former are printed on screen: ```shell +> lapidarius sinatra +sinatra (2.0.0) +├── mustermann (~> 1.0) +├── rack (~> 2.0) +├── rack-protection (= 2.0.0) +│ └── rack (>= 0) +└── tilt (~> 2.0) + +4 runtime, 4 development +``` + +### Version +By default this library scans for the first version `>= 0` found at [rubygems.org](https://rubygems.org/). +In case you are interested on a specific version just specify the `-v` option: +```shell +> lapidarius sinatra -v 1.4.7 sinatra (1.4.7) ├── rack (~> 1.5) ├── rack-protection (~> 1.4) │ └── rack (>= 0) └── tilt (< 3, >= 1.3) 3 runtime, 4 development ``` -### Version -By default this library scans for the first version `>= 0`. -In case you have multiple versions of a gem installed, just specify the version you need to cut as the second argument: +### Remote +By default this library scan for local gems, if you want to scan for remote ones specify the `-r` option (be aware of slowness): ```shell -$ lapidarius sinatra 2.0.0 -sinatra (2.0.0) -├── mustermann (~> 1.0) -├── rack (~> 2.0) -├── rack-protection (= 2.0.0) -│ └── rack (>= 0) -└── tilt (~> 2.0) +$ lapidarius roda -v 3.3.0 -r +roda (3.3.0) +└── rack (>= 0) -4 runtime, 4 development +1 runtime, 10 development ```