Sha256: 49487ed0c94f433a724a0c72dbfc3d5e438c425dcb0763ee23710118a3beec42

Contents?: true

Size: 644 Bytes

Versions: 4

Compression:

Stored size: 644 Bytes

Contents

require 'forwardable'

require 'fynd/actions'
require 'fynd/operators'
require 'fynd/tests'
require 'fynd/helpers'

module Fynd
  class Sieve
    include Helpers
    include Actions
    include Operators
    include Tests
        
    attr_accessor :collection, :conditions, :files
    
    def initialize
      @collection = []
      @conditions = {}
      @files = nil
    end

    def run
      @files = collection.dup
      # first we match files with our tests 
      conditions['tests'].each do |symbol, value|
        value.nil? ? self.__send__(symbol) : self.__send__(symbol, value)
      end
      
      @files
    end
    
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
fynd-0.1.3 lib/fynd/sieve.rb
fynd-0.1.2 lib/fynd/sieve.rb
fynd-0.1.1 lib/fynd/sieve.rb
fynd-0.1.0 lib/fynd/sieve.rb