class Lapidarius::Tree
Constants
- CURVED
- EMPTY
- NESTED
- STRAIGHT
Public Class Methods
new(gem, quiet = false)
click to toggle source
# File lib/lapidarius/tree.rb, line 8 def initialize(gem, quiet = false) @gem = gem @quiet = quiet @out = [] end
Public Instance Methods
count()
click to toggle source
# File lib/lapidarius/tree.rb, line 25 def count "#{@gem.count} runtime, #{@gem.dev_count} development" end
out()
click to toggle source
# File lib/lapidarius/tree.rb, line 14 def out return @out unless @out.empty? return count if @quiet @out.tap do |out| out << @gem recurse out << "" out << count end end
Private Instance Methods
branches(last)
click to toggle source
# File lib/lapidarius/tree.rb, line 38 def branches(last) return [CURVED, EMPTY] if last [NESTED, STRAIGHT] end
recurse(gem = @gem, prefix = "")
click to toggle source
# File lib/lapidarius/tree.rb, line 29 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