Module: LinkedRails::Controller::Rendering
- Defined in:
- lib/linked_rails/controller/rendering.rb
Instance Method Summary collapse
- #_render_with_renderer_json(record, options) ⇒ Object
- #resource_body(resource) ⇒ Object
- #resource_hash(resource) ⇒ Object
- #resource_serializer(resource) ⇒ Object
- #serializer_params ⇒ Object
Instance Method Details
#_render_with_renderer_json(record, options) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/linked_rails/controller/rendering.rb', line 6 def _render_with_renderer_json(record, ) self.content_type = Mime[:json] return record if record.is_a?(String) return record.to_json if record.is_a?(Hash) serializer_opts = RDF::Serializers::Renderers.transform_opts( , serializer_params ) serializer = RDF::Serializers.serializer_for(record)&.new(record, serializer_opts) return record.to_json unless serializer Oj.dump(serializer.serializable_hash, mode: :compat) end |
#resource_body(resource) ⇒ Object
23 24 25 |
# File 'lib/linked_rails/controller/rendering.rb', line 23 def resource_body(resource) resource_serializer(resource).send(:render_emp_json) end |
#resource_hash(resource) ⇒ Object
27 28 29 |
# File 'lib/linked_rails/controller/rendering.rb', line 27 def resource_hash(resource) resource_serializer(resource).send(:emp_json_hash) end |
#resource_serializer(resource) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/linked_rails/controller/rendering.rb', line 31 def resource_serializer(resource) return if resource.nil? = RDF::Serializers::Renderers.transform_opts( {include: resource&.try(:preview_includes)}, serializer_params ) RDF::Serializers .serializer_for(resource) &.new(resource, ) end |
#serializer_params ⇒ Object
43 44 45 |
# File 'lib/linked_rails/controller/rendering.rb', line 43 def serializer_params {} end |