Class: AutoError::AppErrorDecorator

Inherits:
Draper::Decorator
  • Object
show all
Defined in:
app/decorators/auto_error/app_error_decorator.rb

Instance Method Summary collapse

Instance Method Details

#as_json(context) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'app/decorators/auto_error/app_error_decorator.rb', line 3

def as_json( context )
  r = source.attributes
  (r['data']||{}).entries.each do |k, v|
    next if v.nil?
    k = k.to_sym
    if k != :params || AutoError::Config.data_handlers.has_key?(k)
      handler = AutoError::Config.data_handlers[k]
      processed = context.instance_exec( *[v], &handler )
    elsif k == :params
      processed = handle_params(v)
    end
    r['data'][k.to_s] = processed.html_safe
  end
  r
end