Gem for CodeFumes.com API
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
config
features
lib
script
spec
tasks
website
.gitignore
.gitmodules
.rvmrc
Gemfile
Gemfile.lock
History.txt
LICENSE
Manifest.txt
README.md
Rakefile
cucumber.yml

README.md

codefumes

DESCRIPTION:

CodeFumes.com is a service intended to help people who are interested in tracking, sharing, and reviewing metrics associated with a repository of code. The 'codefumes' gem is an implementation of the CodeFumes.com API. The intention of the gem is to simplify use of and integration with the site.

The site supports a small set of 'standard' metrics (# lines changed/committed, build status, build duration, etc). Additionally, the service provides a simple method of supplying and retrieving custom metrics, allowing users to gather any metric you are interested in tracking.

FEATURES/PROBLEMS:

Features

  • Saving, finding, marshalling, and destroying CodeFumes projects
  • Associating and retrieving a repository's history of commits for a CodeFumes 'project'
  • Simple interface for accessing both CodeFumes's 'standard' commit metrics, as well as custom commit attributes; simplifying integration with other tools & libraries users may be interested in using.
  • Interfaces with the CodeFumes config file (used to track projects a user has created on the site)
  • Tracking & retrieving information about continuous integration server builds (duration, status, etc).

Problems / Things to Note

  • CodeFumes 'projects' are repository-specific, not branch-specific.

SYNOPSIS:

In your own Ruby code:

require 'codefumes'

# Creating & finding a CodeFumes project
p = Project.create
found_p = Project.find(p.public_key)
p.public_key # => 'Abc3'
p.api_uri    # => 'http://codefumes.com/api/v1/xml/Abc3'

# Commits
c = Commit.find(<commit identifier>)
c.identifier    # => git commit SHA (svn support coming soon)
c.short_message # => commit message

# Build Management
# QuickBuild grabs local commit head & current time to start build
QuickBuild.start('build-name-here')

# QuickBuild grabs local commit head & current time to finish build
QuickBuild.finish('build-name-here', 'successful')

# Custom attributes associated with a commit
c.custom_attributes[:coverage] # => "80"

# Payloads, used to break up large HTTP requests
content = Payload.prepare(payload_content)
content.each {|chunk| chunk.save}

From the command line:

$ fumes sync  # <- synchronizes local repository with CodeFumes.com
$ fumes build --start ie7
$ fumes build --finish=successful ie7
$ fumes build --status --all

# Link to your CodeFumes account
$ fumes api-key [your-api-key]
$ fumes claim

# Release the project (unlink from your account)
$ fumes release

# Delete the project entirely from CodeFumes.com
$ fumes delete

See 'fumes --help' for more information on available commands and options.

REQUIREMENTS:

  • httparty (0.4.3)
  • caleb-chronic (0.3.0)
  • gli (1.1.1)
  • grit (2.0)

INSTALL:

gem install codefumes

LICENSE:

Refer to the LICENSE file

Contributors (sorted alphabetically)

  • Dan Nawara
  • Jim Suchy
  • Joe Banks
  • Joseph Leddy
  • Leah Welty-Rieger
  • Roy Kolak