Sha256: c883f7163a98357b50b2de19258db7de0a72ed8c4e058a90ada9cc06b6f531bf

Contents?: true

Size: 465 Bytes

Versions: 1

Compression:

Stored size: 465 Bytes

Contents

module SimpleFilter
  class Base
    extend Filter

    attr_reader :params, :scope

    def initialize(params = {}, scope = nil)
      @params = params
      @scope = scope
    end

    def scoping(scope)
      @scope = scope

      self
    end

    def search
      conditions.scope
    end

    private

    def conditions
      self.class.filters.each do |filter|
        @scope.merge! send(filter) || @scope.where(nil)
      end

      self
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
simple-filter-0.1.0 lib/simple_filter/base.rb