module Errorio::InstanceMethods

Methods for targeted objects

Public Class Methods

new(*args) click to toggle source
Calls superclass method
# File lib/errorio.rb, line 137
def initialize(*args)
  errorio_initializer
  super(*args)
end

Public Instance Methods

errorio() click to toggle source
# File lib/errorio.rb, line 171
def errorio
  @errorio_repo
end
errorio_initializer() click to toggle source
# File lib/errorio.rb, line 142
def errorio_initializer
  @errorio_repo = {}
  self.class.errorio_collection_types.each do |e|
    init_errors_variable(e)
    if send(e).nil?
      # Initialize
      init_errors(e)
    else
      # Already initialized for instance, import objects to errorio
      @errorio_repo[e] = send(e)
    end

    # Extend existing message handler
    @errorio_repo[e].class.send :include, ErrorObjectsMethods unless @errorio_repo[e].class.respond_to?(:to_e)
  end
end
init_errors(e) click to toggle source

Init errors class for errorio repo

# File lib/errorio.rb, line 165
def init_errors(e)
  errors = Errors.new(self)
  @errorio_repo[e] = errors
  instance_variable_set("@#{e}", errors)
end
init_errors_variable(e) click to toggle source

Add accessor if collection wasn't initialized

# File lib/errorio.rb, line 160
def init_errors_variable(e)
  self.class.attr_accessor e unless respond_to?(e)
end