Class: JSONAPI::Rails::SuccessRenderer

Inherits:
Object
  • Object
show all
Defined in:
lib/jsonapi/rails/renderer.rb

Instance Method Summary collapse

Constructor Details

#initialize(renderer = JSONAPI::Serializable::SuccessRenderer.new) ⇒ SuccessRenderer

Returns a new instance of SuccessRenderer.



6
7
8
9
10
# File 'lib/jsonapi/rails/renderer.rb', line 6

def initialize(renderer = JSONAPI::Serializable::SuccessRenderer.new)
  @renderer = renderer

  freeze
end

Instance Method Details

#render(resources, options) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/jsonapi/rails/renderer.rb', line 12

def render(resources, options)
  opts = options.dup
  # TODO(beauby): Move this to a global configuration.
  default_exposures = {
    url_helpers: ::Rails.application.routes.url_helpers
  }
  opts[:expose] = default_exposures.merge!(opts[:expose] || {})
  opts[:jsonapi] = opts.delete(:jsonapi_object)

  @renderer.render(resources, opts)
end