Applies the configured filters to the given array of SimpleCov::SourceFile items
# File lib/simplecov.rb, line 74 def filtered(files) result = files.clone filters.each do |filter| result = result.reject {|source_file| filter.matches?(source_file) } end SimpleCov::FileList.new result end
Applies the configured groups to the given array of SimpleCov::SourceFile items
# File lib/simplecov.rb, line 85 def grouped(files) grouped = {} grouped_files = [] groups.each do |name, filter| grouped[name] = SimpleCov::FileList.new(files.select {|source_file| filter.matches?(source_file)}) grouped_files += grouped[name] end if groups.length > 0 and (other_files = files.reject {|source_file| grouped_files.include?(source_file)}).length > 0 grouped["Ungrouped"] = SimpleCov::FileList.new(other_files) end grouped end
# File lib/simplecov.rb, line 105 def load_adapter(name) warn "method load_adapter is deprecated. use load_profile instead" load_profile(name) end
Applies the profile of given name on SimpleCov configuration
# File lib/simplecov.rb, line 101 def load_profile(name) profiles.load(name) end
Returns the result for the current coverage run, merging it across test suites from cache using SimpleCov::ResultMerger if use_merging is activated (default)
# File lib/simplecov.rb, line 45 def result @result ||= SimpleCov::Result.new(Coverage.result) if running # If we're using merging of results, store the current result # first, then merge the results and return those if use_merging lockfile = ::Lockfile.new ResultMerger.resultset_path + '.lockfile' lockfile.lock do SimpleCov::ResultMerger.store_result(@result) if @result return SimpleCov::ResultMerger.merged_result end else return @result if defined? @result end ensure self.running = false end
Returns nil if the result has not been computed Otherwise, returns the result
# File lib/simplecov.rb, line 67 def result? defined? @result and @result end
Sets up SimpleCov to run against your project. You can optionally specify a profile to use as well as configuration with a block:
SimpleCov.start OR SimpleCov.start 'rails' # using rails profile OR SimpleCov.start do add_filter 'test' end OR SimpleCov.start 'rails' do add_filter 'test' end
Please check out the RDoc for SimpleCov::Configuration to find about available config options
# File lib/simplecov.rb, line 27 def start(profile=nil, &block) if SimpleCov.usable? load_profile(profile) if profile configure(&block) if block_given? @result = nil self.running = true Coverage.start else warn "WARNING: SimpleCov is activated, but you're not running Ruby 1.9+ - no coverage analysis will happen" warn "Starting with SimpleCov 1.0.0, even no-op compatibility with Ruby <= 1.8 will be entirely dropped." false end end
Checks whether we’re on a proper version of Ruby (likely 1.9+) which provides coverage support
# File lib/simplecov.rb, line 114 def usable? return @usable if defined? @usable and !@usable.nil? @usable = begin require 'coverage' require 'simplecov/jruby_fix' true rescue LoadError false end end
Generated with the Darkfish Rdoc Generator 2.