class Andromeda::InfoMsg

Attributes

cause[R]
details[R]
msg[R]

Public Class Methods

new(msg = '', details = {}) click to toggle source
# File lib/andromeda/error.rb, line 14
def initialize(msg = '', details = {})
  @msg     = msg
  @details = details
  @cause   = details[:cause]
  details.delete :cause if @cause
end
str(msg = '', details = {}, cause_ = nil) click to toggle source
# File lib/andromeda/error.rb, line 5
def self.str(msg = '', details = {}, cause_ = nil)
  details[:cause] = cause_ if cause_
  (InfoMsg.new msg, details).to_s
end

Public Instance Methods

to_s() click to toggle source
# File lib/andromeda/error.rb, line 21
def to_s
  out = msg.dup
  if details && details.length > 0
    if cause
      out << " (cause = #{cause}; details = \{"
    else
      out << ' (details = {'
    end
    details.each_pair { |k,v| out << " #{k}: #{v}" }
    out << ' })'
  else
    out << " (cause = #{cause})" if cause
  end
  out << '.'
  out
end