Class: JsonapiCompliable::Util::IncludeParams
- Inherits:
-
Object
- Object
- JsonapiCompliable::Util::IncludeParams
- Defined in:
- lib/jsonapi_compliable/util/include_params.rb
Class Method Summary collapse
Class Method Details
.compare(includes, whitelist) ⇒ Object
4 5 6 7 8 9 10 11 12 |
# File 'lib/jsonapi_compliable/util/include_params.rb', line 4 def self.compare(includes, whitelist) {}.tap do |valid| includes.to_hash.each_pair do |key, sub_hash| if whitelist[key] valid[key] = compare(sub_hash, whitelist[key]) end end end end |
.scrub(controller) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/jsonapi_compliable/util/include_params.rb', line 14 def self.scrub(controller) dsl = controller._jsonapi_compliable whitelist = dsl.sideloads[:whitelist] || {} whitelist = whitelist[controller.action_name] includes = JSONAPI::IncludeDirective.new(controller.params[:include]) if whitelist Util::IncludeParams.compare(includes, whitelist) else {} end end |