Sha256: 56aa69fb27f97b0d3dad1152bad2b62706e303a0f5b29ad1f066e686942f462a

Contents?: true

Size: 970 Bytes

Versions: 2

Compression:

Stored size: 970 Bytes

Contents

# frozen_string_literal: true

require 'singleton'
require_relative 'application'

# Display and log project messages
class Logger
  include Singleton
  @attr_verbose = 'yes'

  def set_verbose(value)
    @attr_verbose = value
  end

  def self.verbose(msg)
    print msg if @attr_verbose == 'yes'
    @logfile&.write(msg)
  end

  def self.verboseln(msg)
    verbose(msg + "\n")
  end

  def log(msg)
    verbose(msg)
  end

  def logln(msg)
    verboseln(msg)
  end
  ##
  # Create or reset logfile
  def self.create(logpath, logname)
    @logfile = File.open(logpath, 'w')
    @logfile.write('=' * 50 + "\n")
    @logfile.write("Created by : #{Application::NAME}")
    @logfile.write(" (version #{Application::VERSION})\n")
    @logfile.write("File       : #{logname}\n")
    @logfile.write("Time       : #{Time.new}\n")
    @logfile.write("Author     : David Vargas Ruiz\n")
    @logfile.write('=' * 50 + "\n\n")
  end

  def self.close
    @logfile.close
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
asker-tool-2.2.2 lib/asker/logger.rb
asker-tool-2.2.1 lib/asker/logger.rb