16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
# File 'lib/jsonapi/scopes/includes.rb', line 16
def apply_include(params = {}, options = { allowed: [] })
records = all
fields = params.dig(:include).to_s
return records if fields.blank?
allowed_fields = (Array.wrap(options[:allowed]).presence || @allowed_includes).map(&:to_s)
fields.split(',').each do |field|
raise InvalidAttributeError, "#{field} is not valid as include attribute." unless allowed_fields.include?(field)
end
records.includes(convert_includes_as_hash(fields))
end
|