module Remexify::Retrieve::Filter
Public Instance Methods
level(obj, options)
click to toggle source
# File lib/remexify/remexify_retriever.rb, line 40 def level(obj, options) lvl_option = options[:level] if lvl_option lvl = lvl_option.gsub(/[^0-9]/, "") raise "Level must all be a number" if (lvl =~ /^[0-9]+$/).nil? if lvl_option =~ />=/ obj = obj.where("level >= ?", lvl) elsif lvl_option =~ /<=/ obj = obj.where("level <= ?", lvl) elsif lvl_option =~ />/ obj = obj.where("level > ?", lvl) elsif lvl_option =~ /</ obj = obj.where("level < ?", lvl) elsif lvl_option =~ /=/ obj = obj.where("level = ?", lvl) else raise "Unknown operator for level" end end obj end
order(obj, options)
click to toggle source
# File lib/remexify/remexify_retriever.rb, line 33 def order(obj, options) if options[:order] obj = obj.order(options[:order]) end obj end
owned_by(options)
click to toggle source
# File lib/remexify/remexify_retriever.rb, line 63 def owned_by(options) if options[:owned_by] || options[:owned_param1] || options[:owned_param2] || options[:owned_param3] if options[:owned_by] my_logs = Remexify.config.model_owner.where(identifier_id: options.fetch(:owned_by)) else my_logs = Remexify.config.model_owner.all end opkeys = options.keys my_logs = my_logs.where(param1: options[:owned_param1]) if opkeys.include? :owned_param1 my_logs = my_logs.where(param2: options[:owned_param2]) if opkeys.include? :owned_param2 my_logs = my_logs.where(param3: options[:owned_param3]) if opkeys.include? :owned_param3 my_logs = my_logs.pluck(:log_md5) owned_logs = Remexify.config.model.where(md5: my_logs).all else owned_logs = Remexify.config.model.all end owned_logs end