Sha256: 28fbc8628665456477052a046c932ebab467cbb296d89cdbdd0807f24f13304e

Contents?: true

Size: 617 Bytes

Versions: 4

Compression:

Stored size: 617 Bytes

Contents

if defined?(ActiveRecord)
  module Napa
    module FilterByHash
      module ClassMethods
        def filter(search_hash = {})
          # pass an empty where clause to force results to be a relation that will be lazy evaluated
          results = where({})
          search_hash.each do |k, v|
            results = results.where(k => v)
          end
          results
        end
      end

      def self.included(base)
        ActiveSupport::Deprecation.warn 'Napa::FilterByHash is deprecated, this module will be removed in future releases', caller
        base.extend(ClassMethods)
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
napa-0.5.0 lib/napa/active_record_extensions/filter_by_hash.rb
napa-0.4.3 lib/napa/active_record_extensions/filter_by_hash.rb
napa-0.4.1 lib/napa/active_record_extensions/filter_by_hash.rb
napa-0.4.0 lib/napa/active_record_extensions/filter_by_hash.rb