class TerRor::Record
Public Instance Methods
error_codes()
click to toggle source
# File lib/ter_ror/record.rb, line 3 def error_codes @error_codes ||= ancestor_names.map { |class_name| TerRor.codes.get(class_name, *error_names) }.compact.reduce(&:merge) end
Private Instance Methods
ancestor_names()
click to toggle source
# File lib/ter_ror/record.rb, line 11 def ancestor_names @ancestor_names ||= [].tap do |classes| root = defined?(ApplicationRecord) ? ApplicationRecord : ActiveRecord::Base klass = __getobj__.class loop do classes.unshift klass.model_name.singular klass = klass.superclass break if klass == root end end end
error_names()
click to toggle source
# File lib/ter_ror/record.rb, line 26 def error_names @error_names ||= errors.details.map { |field, errors| errors.map { |error| "#{field}_#{error[:error]}" } }.flatten end