Class: JSONAPI::Serializable::Renderer
- Inherits:
-
Object
- Object
- JSONAPI::Serializable::Renderer
- Defined in:
- lib/jsonapi/serializable/renderer.rb
Instance Method Summary collapse
-
#initialize(renderer = JSONAPI::Renderer.new) ⇒ Renderer
constructor
A new instance of Renderer.
-
#render(resources, options = {}) ⇒ Hash
Serialize resources into a JSON API document.
-
#render_errors(errors, options = {}) ⇒ Hash
Serialize errors into a JSON API document.
Constructor Details
#initialize(renderer = JSONAPI::Renderer.new) ⇒ Renderer
Returns a new instance of Renderer.
6 7 8 |
# File 'lib/jsonapi/serializable/renderer.rb', line 6 def initialize(renderer = JSONAPI::Renderer.new) @renderer = renderer end |
Instance Method Details
#render(resources, options = {}) ⇒ Hash
Serialize resources into a JSON API document.
38 39 40 41 42 43 44 45 46 47 |
# File 'lib/jsonapi/serializable/renderer.rb', line 38 def render(resources, = {}) = .dup klass = .delete(:class) || {} exposures = .delete(:expose) || {} exposures = exposures.merge(_class: klass) resources = build_resources(resources, exposures, klass) @renderer.render(.merge(data: resources)) end |
#render_errors(errors, options = {}) ⇒ Hash
Serialize errors into a JSON API document.
63 64 65 66 67 68 69 70 71 |
# File 'lib/jsonapi/serializable/renderer.rb', line 63 def render_errors(errors, = {}) = .dup klass = .delete(:class) || {} exposures = .delete(:expose) || {} errors = errors.map { |e| _build(e, exposures, klass) } @renderer.render(.merge(errors: errors)) end |