Sha256: cdc1b1c7681048c88ed159e7016caf606b58bf407c4ff2b562c09bf6454cfa18

Contents?: true

Size: 777 Bytes

Versions: 3

Compression:

Stored size: 777 Bytes

Contents

# frozen_string_literal: true

module LicenseFinder
  class Printer
    attr_reader :padding

    def initialize #:nodoc:
      @base = nil
      @mute = false
      @padding = 0
      @always_force = false
    end

    def say(message = '', color = nil, force_new_line = (message.to_s !~ /( |\t)\Z/))
      buffer = prepare_message(message, *color)
      buffer << "\n" if force_new_line && !message.to_s.end_with?("\n")

      stdout.print(buffer)
      stdout.flush
    end

    def prepare_message(message, *color)
      spaces = '  ' * padding
      spaces + set_color(message.to_s, *color)
    end

    def set_color(string, *) #:nodoc:
      string
    end

    def padding=(value)
      @padding = [0, value].max
    end

    def stdout
      $stdout
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
license_finder-7.1.0 lib/license_finder/printer.rb
license_finder-7.0.1 lib/license_finder/printer.rb
license_finder-7.0.0 lib/license_finder/printer.rb