module SimpleCov

def filtered(files)


Applies the configured filters to the given array of SimpleCov::SourceFile items
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

def grouped(files)


Applies the configured groups to the given array of SimpleCov::SourceFile items
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

def load_adapter(name)

def load_adapter(name)
  warn "method load_adapter is deprecated. use load_profile instead"
  load_profile(name)
end

def load_profile(name)


Applies the profile of given name on SimpleCov configuration
def load_profile(name)
  profiles.load(name)
end

def result


from cache using SimpleCov::ResultMerger if use_merging is activated (default)
Returns the result for the current coverage run, merging it across test suites
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

def result?


Otherwise, returns the result
Returns nil if the result has not been computed
def result?
  defined? @result and @result
end

def start(profile=nil, &block)


Please check out the RDoc for SimpleCov::Configuration to find about available config options

end
add_filter 'test'
SimpleCov.start 'rails' do
OR
end
add_filter 'test'
SimpleCov.start do
OR
SimpleCov.start 'rails' # using rails profile
OR
SimpleCov.start
You can optionally specify a profile to use as well as configuration with a block:
Sets up SimpleCov to run against your project.
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

def usable?


provides coverage support
Checks whether we're on a proper version of Ruby (likely 1.9+) which
def usable?
  return @usable if defined? @usable and !@usable.nil?
  @usable = begin
    require 'coverage'
    require 'simplecov/jruby_fix'
    true
  rescue LoadError
    false
  end
end