module Motor::ApiQuery::ApplyScope
Public Instance Methods
apply_filter_scope(rel, scope)
click to toggle source
# File lib/motor/api_query/apply_scope.rb, line 20 def apply_filter_scope(rel, scope) configs = Motor::Resource.find_by(name: rel.klass.name.underscore) return rel unless configs scope_configs = configs.preferences[:scopes].find { |s| s[:name] == scope } return rel unless scope_configs ApiQuery::Filter.call(rel, scope_configs[:preferences][:filter]) end
call(rel, scope)
click to toggle source
# File lib/motor/api_query/apply_scope.rb, line 8 def call(rel, scope) return rel if scope.blank? scope_symbol = scope.to_sym if rel.klass.defined_scopes.include?(scope_symbol) rel.public_send(scope_symbol) else apply_filter_scope(rel, scope) end end