Module: Errorio::InstanceMethods

Defined in:
lib/errorio.rb

Overview

Methods for targeted objects

Instance Method Summary collapse

Instance Method Details

#errorioObject



189
190
191
# File 'lib/errorio.rb', line 189

def errorio
  @errorio_repo
end

#errorio_initializerObject



160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# File 'lib/errorio.rb', line 160

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) ⇒ Object

Init errors class for errorio repo



183
184
185
186
187
# File 'lib/errorio.rb', line 183

def init_errors(e)
  errors = Errors.new(self)
  @errorio_repo[e] = errors
  instance_variable_set("@#{e}", errors)
end

#init_errors_variable(e) ⇒ Object

Add accessor if collection wasn’t initialized



178
179
180
# File 'lib/errorio.rb', line 178

def init_errors_variable(e)
  self.class.attr_accessor e unless respond_to?(e)
end

#initialize(*args) ⇒ Object



155
156
157
158
# File 'lib/errorio.rb', line 155

def initialize(*args)
  errorio_initializer
  super(*args)
end