Skip to content
Ruby client for the Let's Freckle API (http://www.letsfreckle.com)
Ruby
Pull request Compare This branch is 32 commits behind ryanlecompte:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
bin
lib
spec
.gitignore
Gemfile
LICENSE
README.rdoc
Rakefile
letsfreckle-client.gemspec

README.rdoc

letsfreckle-client

letsfreckle-client is a Ruby client for accessing the Let's Freckle API. Let's Freckle is an intuitive time-tracking service. See www.letsfreckle.com for more information.

API information can be found at developer.letsfreckle.com/

Installation

letsfreckle-client is available as a RubyGem:

gem install letsfreckle-client, require: 'letsfreckle'

Examples

The following examples show how to access functions of the API. In order to use the client, you must have an API token. You can access your token via your letsfreckle.com settings/profile. Note that currently letsfreckle.com hosts a sample API test account, which the following examples utilize.

Example:

# Configure the client before fetching data.
LetsFreckle.configure do
  account_host "apitest"
  username "apitest@letsfreckle.com"
  token "lx3gi6pxdjtjn57afp8c2bv1me7g89j"
end

# Submit a new entry.
LetsFreckle::Entry.create(:project_id => 3427, :minutes => '1h', :description => 'fixed a bug')

# Fetch all entries.
LetsFreckle::Entry.all.each do |entry|
  puts "Entry #{entry.description} - #{entry.minutes} minutes"
end

# Fetch all entries on all pages
LetsFreckle::Entry.all(:all_pages => true).each do |entry|
  puts "Entry #{entry.description} - #{entry.minutes} minutes"
end

# Search for entries from a specific start date and tags
LetsFreckle::Entry.find(:from => '2010-07-10', :tags => ['development', 'design']).each do |entry|
  puts entry.description
end

# Fetch all projects and associated entries
LetsFreckle::Project.all.each do |project|
  puts "Project #{project.name} has #{project.entries.size} entries"
end

# Fetch all tags and associated entries
LetsFreckle::Tag.all.each do |tag|
  puts "Tag #{tag.name} has #{tag.entries.size} entries"
end

# Fetch all users and associated permissions
LetsFreckle::User.all.each do |user|
  puts "User #{user.email} has following permissions: #{user.permissions}"
end

Development

Bundler is used to manage dependencies. Use `bundle install` to get set up. Tests are written in rspec, use `bundle exec rspec spec/*` to run the tests.

Note on Patches/Pull Requests

  • Fork the project.

  • Make your feature addition or bug fix.

  • Add tests for it. This is important so I don't break it in a future version unintentionally.

  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)

  • Send me a pull request. Bonus points for topic branches.

Authors

  • Ryan LeCompte

Copyright

Copyright © 2011 Ryan LeCompte. See LICENSE for further details.

Something went wrong with that request. Please try again.