Sha256: ea8d462defd26e793c61de4204616be8501b58167294a41469acb9b77195abe3

Contents?: true

Size: 1.28 KB

Versions: 1

Compression:

Stored size: 1.28 KB

Contents

module Inch
  module CLI
    module Command
      module Output
        class Console < Base
          extend Forwardable

          attr_reader :object, :objects, :source_parser

          def_delegators :source_parser, :all_objects, :find_object, :find_objects
          alias :all :all_objects
          alias :ff :find_objects
          alias :f :find_object
          alias :o :object

          COLOR = :color198     # magenta-ish
          BG_COLOR = :color207  # magenta-ish

          # @param options [Options::Console]
          # @param object [CodeObject::Proxy::Base]
          # @param objects [Array<CodeObject::Proxy::Base>]
          # @param source_parser [SourceParser]
          def initialize(options, object, objects, source_parser)
            @options = options
            @object = object
            @objects = objects
            @source_parser = source_parser

            run
          end

          def run
            trace
            trace_header("Welcome to Inch's console", COLOR, BG_COLOR)
            trace edged(COLOR, @options.usage)
            @options.descriptions.each do |line|
              trace edged(COLOR, line)
            end
            run_pry
          end

          def run_pry
            binding.pry
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
inch-0.1.4 lib/inch/cli/command/output/console.rb