Sha256: f748f36092b541c9c22e807a8862c531ec37f7e121ba9f49662c90aeda1064d0
Contents?: true
Size: 817 Bytes
Versions: 3
Compression:
Stored size: 817 Bytes
Contents
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, #{@gem.dev_count} development" 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
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
lapidarius-3.3.0 | lib/lapidarius/tree.rb |
lapidarius-3.2.1 | lib/lapidarius/tree.rb |
lapidarius-3.2.0 | lib/lapidarius/tree.rb |