Sha256: c9a03df513c84beddecee0c14fb6a0317b46402a9588c0267c8ad7b275939d3d
Contents?: true
Size: 818 Bytes
Versions: 2
Compression:
Stored size: 818 Bytes
Contents
require "ostruct" module Lapidarius class Tree CURVED = "└── " EMPTY = " " NESTED = "├── " STRAIGHT = "│ " def initialize(gem) @gem = gem @out = [] end def out return @out unless @out.empty? @out.tap do |out| out << @gem recurse out << "" out << "#{@gem.count} runtime dependencies" end end private def recurse(gem = @gem, prefix = "") last_index = gem.size - 1 gem.each_with_index do |dep, i| pointer, preadd = branches(i == last_index) @out << "#{prefix}#{pointer}#{dep}" recurse(dep, "#{prefix}#{preadd}") if dep.size > 0 end end private def branches(last) return [CURVED, EMPTY] if last [NESTED, STRAIGHT] end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
lapidarius-3.1.1 | lib/lapidarius/tree.rb |
lapidarius-3.1.0 | lib/lapidarius/tree.rb |