module Querifier::Queries::Base

Public Class Methods

included(klass) click to toggle source
# File lib/querifier/queries/base.rb, line 17
def self.included(klass)
  klass.extend(ClassMethods)
end
new(params) click to toggle source
# File lib/querifier/queries/base.rb, line 4
def initialize(params)
  @params = params
  check_params!
end

Public Instance Methods

collection() click to toggle source
# File lib/querifier/queries/base.rb, line 9
def collection
  @collection ||= self.class.default_collection
end
params() click to toggle source
# File lib/querifier/queries/base.rb, line 13
def params
  @params.fetch(Config.filter_param, {})
end

Private Instance Methods

check_params!() click to toggle source
# File lib/querifier/queries/base.rb, line 29
def check_params!
  return if @params.respond_to?(:keys) && @params.respond_to?(:has_key?)
  raise ArgumentError, "The params should extend of a hash, instead, they are a #{@params.class}" # rubocop:disable Metrics/LineLength
end