module Shoulda::Matchers::ActiveModel::Helpers
def default_error_message(type, options = {})
def default_error_message(type, options = {}) model_name = options.delete(:model_name) attribute = options.delete(:attribute) instance = options.delete(:instance) RailsShim.generate_validation_message( instance, attribute.to_sym, type, model_name, options ) end
def pretty_error_messages(obj)
def pretty_error_messages(obj) obj.errors.map do |attribute, message| full_message = message.dup.inspect parenthetical_parts = [] unless attribute.to_sym == :base parenthetical_parts << "attribute: #{attribute}" if obj.respond_to?(attribute) parenthetical_parts << "value: #{obj.__send__(attribute).inspect}" end end if parenthetical_parts.any? full_message << " (#{parenthetical_parts.join(', ')})" end "* " + full_message end.join("\n") end