Module: Zena::Use::ErrorRendering::Common

Included in:
ControllerMethods, ViewMethods
Defined in:
lib/zena/use/error_rendering.rb

Instance Method Summary collapse

Instance Method Details

#error_messages_for(type, opts = {}) ⇒ Object

TODO: test



7
8
9
10
11
12
13
14
15
16
# File 'lib/zena/use/error_rendering.rb', line 7

def error_messages_for(type, opts={})
  obj = opts[:object]
  return '' if !obj || obj.errors.empty?
  res = ["<table class='#{opts[:class] || 'errors'}'>"]
  obj.errors.each_error do |er,msg|
    res << "<tr><td><b>#{er}</b></td><td>#{_(msg)}</td></tr>"
  end
  res << '</table>'
  res.join("\n")
end

#processing_error(msg) ⇒ Object

TODO: test (where is this used ? discussions, ?)



19
20
21
22
23
# File 'lib/zena/use/error_rendering.rb', line 19

def processing_error(msg)
  # (this method used to be called add_error, but it messed up with 'test/unit/testcase.rb' when testing helpers)
  @errors ||= []
  @errors << _(msg)
end

#render_errors(errs = @errors) ⇒ Object

TODO: test



26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/zena/use/error_rendering.rb', line 26

def render_errors(errs=@errors)
  if !errs || errs.empty?
    ""
  elsif errs.kind_of?(ActiveRecord::Errors)
    res = "<table class='errors'>"
    errs.each do |k,v|
      res << "<tr><td><b>#{k}</b></td><td>#{v}</td></tr>\n"
    end
    res << "</table>"
    res
  else
    "<table class='errors'><tr><td>#{errs.join("</td></tr>\n<tr><td>")}</td></tr></table>"
  end
end