genki (owner)

Revisions

gist: 111562 Download_button fork
public
Public Clone URL: git://gist.github.com/111562.git
Embed All Files: show embed
error_messages_for.rb #
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  module Errorifier
    def error_messages_for(obj, error_class, build_li, header, before)
      obj ||= @obj
      return "" unless obj.respond_to?(:errors)
            sequel = !obj.errors.respond_to?(:each)
      errors = sequel ? obj.errors.full_messages : obj.errors
      return "" if errors.empty?
 
      header_message = header % [errors.size, errors.size == 1 ? "" : "s"]
      markup = %Q{<div class='#{error_class}'>#{header_message}<ul>}
      errors.each {|err| markup << (build_li % (sequel ? err : err.join(" ")))}
      markup << %Q{</ul></div>}
    end