Sha256: 9f7d89dbc8b66157f51d1a9971afa64d422ae555905ce7244267edc37abf9509
Contents?: true
Size: 761 Bytes
Versions: 2
Compression:
Stored size: 761 Bytes
Contents
module JSONAPI # Inclusion and sparse fields support module Fetching private # Extracts and formats sparse fieldsets # # Ex.: `GET /resource?fields[relationship]=id,created_at` # # @return [Hash] def jsonapi_fields return {} unless params[:fields].respond_to?(:each_pair) ActiveSupport::HashWithIndifferentAccess.new.tap do |h| params[:fields].each do |k, v| h[k] = v.to_s.split(',').map(&:strip).compact end end end # Extracts and whitelists allowed includes # # Ex.: `GET /resource?include=relationship,relationship.subrelationship` # # @return [Array] def jsonapi_include params['include'].to_s.split(',').map(&:strip).compact end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
jsonapi.rb-1.5.3 | lib/jsonapi/fetching.rb |
jsonapi.rb-1.5.2 | lib/jsonapi/fetching.rb |