Module: JSONAPI::Rails::Controller
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/jsonapi/rails/controller.rb
Overview
ActionController methods and hooks for JSON API deserialization and
rendering.
Constant Summary collapse
- JSONAPI_POINTERS_KEY =
'jsonapi-rails.jsonapi_pointers'.freeze
Instance Method Summary collapse
-
#jsonapi_class ⇒ Hash{Symbol=>Class}
Hook for serializable class mapping (for resources).
-
#jsonapi_errors_class ⇒ Hash{Symbol=>Class}
Hook for serializable class mapping (for errors).
-
#jsonapi_expose ⇒ Hash
Hook for default exposures.
-
#jsonapi_object ⇒ Hash
Hook for the jsonapi object.
-
#jsonapi_pagination(resources) ⇒ Hash
Hook for pagination scheme.
-
#jsonapi_pointers ⇒ Hash{Symbol=>String}
JSON pointers for deserialized fields.
Instance Method Details
#jsonapi_class ⇒ Hash{Symbol=>Class}
Hook for serializable class mapping (for resources). Overridden by the ‘class` renderer option.
89 90 91 |
# File 'lib/jsonapi/rails/controller.rb', line 89 def jsonapi_class JSONAPI::Rails.config[:jsonapi_class].dup end |
#jsonapi_errors_class ⇒ Hash{Symbol=>Class}
Hook for serializable class mapping (for errors). Overridden by the ‘class` renderer option.
96 97 98 |
# File 'lib/jsonapi/rails/controller.rb', line 96 def jsonapi_errors_class JSONAPI::Rails.config[:jsonapi_errors_class].dup end |
#jsonapi_expose ⇒ Hash
Hook for default exposures.
109 110 111 |
# File 'lib/jsonapi/rails/controller.rb', line 109 def jsonapi_expose instance_exec(&JSONAPI::Rails.config[:jsonapi_expose]) end |
#jsonapi_object ⇒ Hash
Hook for the jsonapi object. Overridden by the ‘jsonapi_object` renderer option.
103 104 105 |
# File 'lib/jsonapi/rails/controller.rb', line 103 def jsonapi_object JSONAPI::Rails.config[:jsonapi_object] end |
#jsonapi_pagination(resources) ⇒ Hash
Hook for pagination scheme.
115 116 117 |
# File 'lib/jsonapi/rails/controller.rb', line 115 def jsonapi_pagination(resources) instance_exec(resources, &JSONAPI::Rails.config[:jsonapi_pagination]) end |
#jsonapi_pointers ⇒ Hash{Symbol=>String}
JSON pointers for deserialized fields.
121 122 123 |
# File 'lib/jsonapi/rails/controller.rb', line 121 def jsonapi_pointers request.env[JSONAPI_POINTERS_KEY] || {} end |