def filterrific(opts)
      class << self
        attr_accessor :filterrific_available_filters
        attr_accessor :filterrific_default_filter_params
      end
      self.filterrific_available_filters = []

      opts.stringify_keys!

      # define_sorted_by_scope(opts['sorted_by'])  if opts['sorted_by']
      # define_search_query_scope(opts['search_query'])  if opts['search_query']

      assign_filterrific_available_filters(opts)
      validate_filterrific_available_filters
      assign_filterrific_default_filter_params(opts)
      validate_filterrific_default_filter_params

    end
def filterrific(opts)
      class << self
        attr_accessor :filterrific_available_filters
        attr_accessor :filterrific_default_filter_params
      end
      self.filterrific_available_filters = []

      opts.stringify_keys!

      # define_sorted_by_scope(opts['sorted_by'])  if opts['sorted_by']
      # define_search_query_scope(opts['search_query'])  if opts['search_query']

      assign_filterrific_available_filters(opts)
      validate_filterrific_available_filters
      assign_filterrific_default_filter_params(opts)
      validate_filterrific_default_filter_params

    end
Adds Filterrific behavior to class when called like so:

 filterrific(
   :available_filters => [:sorted_by, :search_query, :with_state]
   :default_filter_params => { :sorted_by => "created_at_asc" },
 )

 @params opts [Hash] with either string or symbol keys, will be stringified.
 @option opts [Array<String, Symbol>] available_filters: a list of filters to be exposed by Filterrific.
 @option opts [Hash, optional] default_filter_params: default filter parameters
 @return [void]