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