Sha256: fa71bb56ddfc157454edbe0c384446893edb6f9d328e9098a19ae1d81424ca57

Contents?: true

Size: 929 Bytes

Versions: 5

Compression:

Stored size: 929 Bytes

Contents

# frozen_string_literal: true

module FiniteMachine
  module Logger
    module_function

    def debug(message)
      FiniteMachine.logger.debug(message)
    end

    def info(message)
      FiniteMachine.logger.info(message)
    end

    def warn(message)
      FiniteMachine.logger.warn(message)
    end

    def error(message)
      FiniteMachine.logger.error(message)
    end

    def format_error(error)
      message = ["#{error.class}: #{error.message}\n\t"]
      if error.backtrace
        message << "occured at #{error.backtrace.join("\n\t")}"
      else
        message << "EMPTY BACKTRACE\n\t"
      end
      message.join
    end

    def report_transition(name, from, to, *args)
      message = ["Transition: @event=#{name} "]
      unless args.empty?
        message << "@with=[#{args.join(',')}] "
      end
      message << "#{from} -> #{to}"
      info(message.join)
    end
  end # Logger
end # FiniteMachine

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
finite_machine-0.14.1 lib/finite_machine/logger.rb
finite_machine-0.14.0 lib/finite_machine/logger.rb
finite_machine-0.13.0 lib/finite_machine/logger.rb
finite_machine-0.12.1 lib/finite_machine/logger.rb
finite_machine-0.12.0 lib/finite_machine/logger.rb