Sha256: 136b9ee64523166f3c7c6efa66abe2f811874454654a6be374b7411e72a76558

Contents?: true

Size: 1.45 KB

Versions: 3

Compression:

Stored size: 1.45 KB

Contents

module Zena
  module Use
    module ErrorRendering
      module Common

        #TODO: test
        def error_messages_for(type, opts={})
          super unless type == 'node'
          obj = opts[:object]
          return '' if 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

        # TODO: test (where is this used ? discussions, ?)
        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

        # TODO: test
        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

      end # Common

      module ControllerMethods
        include Common
      end

      module ViewMethods
        include Common
      end

    end # ErrorRendering
  end # Use
end # Zena

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
zena-1.0.0.beta3 lib/zena/use/error_rendering.rb
zena-1.0.0.beta2 lib/zena/use/error_rendering.rb
zena-1.0.0.beta1 lib/zena/use/error_rendering.rb