Sha256: 2ef60486d185dc57df4c7d63b25c16cbd4d8c3f12d749c3e7e13dd00b2e2c8c1

Contents?: true

Size: 1.47 KB

Versions: 1

Compression:

Stored size: 1.47 KB

Contents

#!/usr/bin/env ruby

require 'colorize'

ERROR_FOLDER = './log/exceptions'

case ARGV[0]
  when 'help'
    puts ' lux exceptions        - show all exceptions'
    puts ' lux exceptions clear  - to clear error folder'
    puts ' lux exceptions NUMBER - to show error on specific number'
    exit
  when 'clear'
    LuxCli.run 'rm -rf "%s"' % ERROR_FOLDER
    puts '%s removed' % ERROR_FOLDER
    exit
  else
end

show = ARGV[0] ? ARGV[0].to_i : nil

error_folders = Dir['%s/*' % ERROR_FOLDER].sort_by { |x| File.mtime(x) }

if error_folders.length == 0
  puts 'Nothing found in %s'.blue % ERROR_FOLDER
  exit
end

cnt = 0

puts 'Add error number as last argument to show full erros'.blue

error_folders.each do |error_folder|
  cnt += 1
  next if show && show != cnt

  print '%s. %s - ' % [cnt.to_s.rjust(2), error_folder.split('/').last.yellow]
  file = Dir['%s/*.txt' % error_folder].sort_by{ |f| File.mtime(f) }.first
  next unless file

  last_update = (Time.now - File.mtime(file)).to_i

  if last_update < 60
    print '%s sec ago - ' % last_update.to_s.blue
  elsif last_update < 60*60
    print '%s mins ago - ' % (last_update/60).to_i.to_s.blue
  elsif last_update < 60*60*24
    print '%s hours ago - ' % (last_update/(60*60)).to_i.to_s.blue
  else
    print '%s days ago - ' % (last_update/(60*60*24)).to_i.to_s.blue
  end

  puts file.split('/').last

  if show
    puts "\n" + File.read(file)
    exit
  end

  first_line = File.read(file).split("\n").first
  puts '    %s' % first_line
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
lux-fw-0.1.17 ./bin/cli/exceptions