Sha256: 9d16ae5fc86ad47d11a87f83413422307c6146f95ffc282cae5ee4790d43965a

Contents?: true

Size: 1.34 KB

Versions: 3

Compression:

Stored size: 1.34 KB

Contents

##############################################################################
#                         Awesome Print Plugin
##############################################################################

# rubocop:disable Metrics/AbcSize
begin
  require 'awesome_print'
  require 'io/console'

  # :reek:DuplicateMethodCall
  module Kernel
    def sap(*messages)
      _rows, columns = IO.console.winsize

      puts
      print "\e[1;37m"
      print " #{Time.now} ".center(columns, '*')
      print "\e[0m\n"
      puts
      root_path = if defined?(Rails)
                    Rails.root.to_s
                  else
                    `git rev-parse --show-toplevel`
                  end

      caller[0...5].each do |line|
        relative_line = line.gsub!(root_path.strip, '.')

        color = if relative_line == line
                  '35'
                else
                  '1;30'
                end

        print "\e[#{color}m"
        print line
        print "\e[0m\n"
      end

      puts

      Array(messages).each_with_index do |message, index|
        if message.respond_to?(:class)
          print "\e[32m"
          print message.class
          print "\e[0m\n"
          puts
        end

        ap(message)

        puts unless index + 1 == Array(messages).length
      end
    end
  end
rescue LoadError
end
# rubocop:enable Metrics/AbcSize

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rspeckled-0.0.12 lib/rspeckled/plugins/awesome_print.rb
rspeckled-0.0.11 lib/rspeckled/plugins/awesome_print.rb
rspeckled-0.0.10 lib/rspeckled/plugins/awesome_print.rb