Sha256: ca83060d00ce7202ce48f8716fcdeee09e171d9f5d866e635f43c9495ac8c219

Contents?: true

Size: 1.18 KB

Versions: 12

Compression:

Stored size: 1.18 KB

Contents

module Bake

  class ProjectFilter

    def initialize(options)
      @@filterList = nil
      @@valid = nil
      @@options = options
      @@filter_filename = "#{@@options.qacdata}/filter.txt"
    end

    def self.projects
      calcFilter_internal() if @@filterList.nil?
      return @@filterList
    end

    def self.is_valid?
      calcFilter_internal() if @@valid.nil?
      return @@valid
    end

    def self.localFile(str)
      return true if not is_valid?
      projects.any? { |fil| str.include?(fil+"/") and not str.include?(fil+"/test/") and not str.include?(fil+"/mock/") and not str.include?(fil+"/.qacdata/") }
    end

    def self.writeFilter(filter)
      File.open(@@filter_filename, "w+") do |f|
        filter.uniq!
        filter.delete_if { |f| (f.end_with? "/gtest") or (f.end_with? "/gmock") }
        f.puts(filter)
      end
    end

    def self.calcFilter_internal
      @@filterList = []
      @@valid = File.exist?(@@filter_filename) && @@options.qacfilter
      if @@valid
        File.open(@@filter_filename, "r") do |f|
          f.each_line { |line| @@filterList << line.strip }
        end
      end
    end

  end

end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
bake-toolkit-2.37.10 lib/bakeqac/filter.rb
bake-toolkit-2.37.8 lib/bakeqac/filter.rb
bake-toolkit-2.37.7 lib/bakeqac/filter.rb
bake-toolkit-2.37.6 lib/bakeqac/filter.rb
bake-toolkit-2.37.5 lib/bakeqac/filter.rb
bake-toolkit-2.37.4 lib/bakeqac/filter.rb
bake-toolkit-2.37.3 lib/bakeqac/filter.rb
bake-toolkit-2.37.2 lib/bakeqac/filter.rb
bake-toolkit-2.37.1 lib/bakeqac/filter.rb
bake-toolkit-2.37.0 lib/bakeqac/filter.rb
bake-toolkit-2.36.1 lib/bakeqac/filter.rb
bake-toolkit-2.36.0 lib/bakeqac/filter.rb