module DefaultWhere
Constants
- REJECT
- STRIP
- VERSION
Public Instance Methods
default_where(params = {})
click to toggle source
# File lib/default_where.rb, line 17 def default_where(params = {}) return all if params.blank? params = params.to_h options = {} [:strip, :allow, :reject].each do |key| options[key] = params.delete(key) if params[key].respond_to?(:to_hash) end or_params = {} or_params = params.delete(:or) if params[:or].respond_to?(:to_hash) and_params, and_refs, and_tables = default_where_params(params, options) order_params = default_where_order_filter(and_params) and_params.except!(*order_params.keys) or_params, or_refs, or_tables = default_where_params(or_params, options) refs = and_refs + or_refs tables = and_tables + or_tables includes(refs).default_where_and(and_params).default_where_or(or_params).default_where_order(order_params).references(tables) end
default_where_and(params = {})
click to toggle source
# File lib/default_where.rb, line 39 def default_where_and(params = {}) return current_scope if params.blank? equal_params = {} params.each do |key, _| equal_params[key] = params.delete(key) unless key.match? /[-\/]/ end where_string, where_hash = default_where_scope(params) where_string = where_string.join ' AND ' where(equal_params).where(where_string, where_hash) end
default_where_or(params = {})
click to toggle source
# File lib/default_where.rb, line 52 def default_where_or(params = {}) return current_scope if params.blank? where_string, where_hash = default_where_scope(params) where_string = where_string.join ' OR ' where(where_string, where_hash) end
logger()
click to toggle source
# File lib/default_where.rb, line 61 def logger ::ActiveRecord::Base.logger end