class SimpleCov::Result


library generates (Coverage.result).
A simplecov code coverage result, initialized from the Hash Ruby 1.9’s built-in coverage

def self.from_hash(hash)

Loads a SimpleCov::Result#to_hash dump
def self.from_hash(hash)
  command_name, data = hash.first
  result = SimpleCov::Result.new(data[:original_result])
  result.command_name = command_name
  result.created_at = data[:created_at]
  result
end

def self.from_yaml(yaml)

Loads a SimpleCov::Result#to_yaml dump
def self.from_yaml(yaml)
  from_hash(YAML.load(yaml))
end

def command_name

Retrieved from SimpleCov.command_name
The command name that launched this result.
def command_name
  @command_name ||= SimpleCov.command_name
end

def covered_percent

FIXME: Kind of inaccurate - should use LOC instead of Files count!

The overall percentual coverage for this result
def covered_percent
  files.map(&:covered_percent).inject(:+) / files.count.to_f
end

def created_at

Defines when this result has been created. Defaults to Time.now
def created_at
  @created_at ||= Time.now
end

def filenames

Returns all filenames for source files contained in this result
def filenames
  files.map(&:filename)
end

def filter!

Applies all configured SimpleCov filters on this result's source files
def filter!
  @files = SimpleCov.filtered(files)
end

def format!

Applies the configured SimpleCov.formatter on this result
def format!
  SimpleCov.formatter.new.format(self)
end

def groups

Returns a Hash of groups for this result. Define groups using SimpleCov.add_group 'Models', 'app/models'
def groups
  @groups ||= SimpleCov.grouped(files)
end

def initialize(original_result)

coverage data)
Initialize a new SimpleCov::Result from given Coverage.result (a Hash of filenames each containing an array of
def initialize(original_result)
  @original_result = original_result.freeze
  @files = original_result.map {|filename, coverage| SimpleCov::SourceFile.new(filename, coverage)}.sort_by(&:filename)
  filter!
end

def to_hash

Returns a hash representation of this Result that can be used for marshalling it into YAML
def to_hash
  {command_name => {:original_result => original_result.reject {|filename, result| !filenames.include?(filename) }, :created_at => created_at}}
end

def to_yaml

Returns a yaml dump of this result, which then can be reloaded using SimpleCov::Result.from_yaml
def to_yaml
  to_hash.to_yaml
end