module Jamf::Filterable

process filter strings for resources with filter request parameters

This should be extended into CollectionResources whose LIST_PATH is filterable

Classes doing so must define the FILTER_KEYS constant, an Array of Symbols of keys from OAPI_PROPERTIES which can be used in filters.

Constants

FILTER_PARAM_PREFIX

Public Class Methods

extended(extender) click to toggle source
   # File lib/jamf/api/jamf_pro/mixins/filterable.rb
36 def self.extended(extender)
37   Jamf.load_msg "--> #{extender} is extending Jamf::Filterable"
38 end
parse_url_filter_param(filter) click to toggle source

generate the RSQL filter to put into the url This is callable from anywhere without mixing in.

   # File lib/jamf/api/jamf_pro/mixins/filterable.rb
44 def self.parse_url_filter_param(filter)
45   return filter if filter.nil? || filter.start_with?(FILTER_PARAM_PREFIX)
46 
47   "#{FILTER_PARAM_PREFIX}#{CGI.escape filter}"
48 end

Public Instance Methods

filter_keys() click to toggle source
   # File lib/jamf/api/jamf_pro/mixins/filterable.rb
50 def filter_keys
51   defined?(self::FILTER_KEYS) ? self::FILTER_KEYS : []
52 end