module Render::Error

Public Class Methods

configure(conf) click to toggle source

Configure error templates @param [Hash] conf the raw configuration @return [Hash] post-processed configuration

# File lib/app/render/error.rb, line 25
def self.configure(conf)
  conf['errors'].each do |k, v|
    conf['errors'][k] = Tilt.new(v, 1)
  end
  conf
end
error_check(actions, context, result) click to toggle source
# File lib/app/render/error.rb, line 32
def self.error_check(actions, context, result)
  errors = context.config['errors']
  if errors
    template = errors[result[0]]
    if template
      result[2] = template.render(self, { actions: actions,
                                          context: context,
                                          result:  result })
    end
  end
  result
end
invoke(actions, context) click to toggle source
# File lib/app/render/error.rb, line 45
def self.invoke(actions, context)
  case context.action
    when :create, :update
      result = context.forward(context.action)
    when :read
      if context.id
        result = context.forward(:read)
      else
        result = context.forward(:readAll)
      end
    else
      result = 405
  end
  error_check(actions, context, result)
end