Sha256: 1c3ade6206717c7878b5e090ea1055468cf85882b31690eab0f983c650000324

Contents?: true

Size: 772 Bytes

Versions: 2

Compression:

Stored size: 772 Bytes

Contents

module Lapidarius
  class Renderer
    class NoEntGemError< ArgumentError; end

    def initialize(gem, recursive = false)
      fail NoEntGemError, "gem not found on this system!" unless gem
      @gem = gem
      @recursive = recursive
      @out = []
    end

    def call(io = STDOUT)
      io.puts out
    end

    def out
      collect_header
      collect_body
      @out
    end

    private def collect_header
      @out << ("\n#{@gem.fullname}".ljust(29) << "\e[1m#{@gem.deep_count}\e[0m".rjust(3))
      @out << hr
    end

    private def collect_body
      return if @gem.deps.empty?
      @gem.deps.each do |dep|
        @out << dep.to_s(recursive: @recursive)
      end
      @out << "\n"
    end

    private def hr
      "#{"-" * 30}\n"
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
lapidarius-2.1.2 lib/lapidarius/renderer.rb
lapidarius-2.1.1 lib/lapidarius/renderer.rb