Class: RablRails::Responder

Inherits:
ActionController::Responder
  • Object
show all
Defined in:
lib/rabl-rails/responder.rb

Overview

Override default responder’s api behavior to not user to_format methods on a resource as a default representation but instead use a rabl template

Instance Method Summary collapse

Constructor Details

#initialize(controller, resources, options = {}) ⇒ Responder

Returns a new instance of Responder.



8
9
10
11
12
13
14
15
# File 'lib/rabl-rails/responder.rb', line 8

def initialize(controller, resources, options = {})
  super
  if options[:locals]
    options[:locals][:resource] = resource
  else
    options[:locals] = { resource: resource }
  end
end

Instance Method Details

#to_formatObject



17
18
19
20
21
22
23
24
25
# File 'lib/rabl-rails/responder.rb', line 17

def to_format
  if get? || response_overridden?
    default_render
  elsif has_errors?
    display_errors
  else
    api_behavior(nil)
  end
end