class Tramway::Error

Public Class Methods

new(*args, plugin: nil, method: nil, message: nil) click to toggle source
Calls superclass method
# File lib/tramway/error.rb, line 4
def initialize(*args, plugin: nil, method: nil, message: nil)
  @properties = {}
  @properties[:plugin] = plugin
  @properties[:method] = method
  @properties[:message] = message
  super(*args)
end
raise_error(*coordinates, **options) click to toggle source
# File lib/tramway/error.rb, line 21
def raise_error(*coordinates, **options)
  @errors ||= YAML.load_file("#{Tramway::Core.root}/yaml/errors.yml").with_indifferent_access
  error = @errors.dig(*coordinates)
  raise 'Error is not defined in YAML' unless error

  options.each do |pair|
    error.gsub!("%{#{pair[0]}}", pair[1].to_s)
  end
  raise error
end

Public Instance Methods

message() click to toggle source
# File lib/tramway/error.rb, line 12
def message
  "Plugin: #{@properties[:plugin]}; Method: #{@properties[:method]}; Message: #{@properties[:message]}"
end
properties() click to toggle source
# File lib/tramway/error.rb, line 16
def properties
  @properties ||= {}
end