The debci Ruby API

The main entry point of the API is the Debci::Repository class. It will allow you to find objects representing specific packages, and from there to test run results.

Accessing packages

require 'debci'
repository = Debci::Repository.new

With a repository object, you can obtain Debci::Package objects:

package = repository.find_package('rails-3.2')

Obtaining data for a given package

With a Debci:Package object, you can obtain the current status with the status method. This method will return a table with architectures on rows, suites on columns, and a status object in each cell.

status_table = package.status

Getting package news

The news method will return a news feed for that package, listing test runs where the package status changed from pass to fail or the other way around.

news = package.news

news.each do |item|
  puts item.headline
end

Finding package failures (Overall Status)

The failures method returns an array of suite/architectures that the package is failing. If there are no failures, nothing is returned.

failures = package.failures

if failures
  puts failures
else
  puts 'Passing everywhere'
end

Getting test history

The history method obtains a package`s test history on a specific suite and architecture. This method will return an array of Debci::Status objects where each object represents one test entry.

history = package.history('unstable', 'amd64')

puts package.name

history.each do |entry|
  puts 'Version: ' + entry.version
  puts 'Date: ' + entry.date
  puts 'Status: ' + entry.status
end

See the documentation for the Debci::Package class for more information.