Skip to content

ryanlecompte/letsfreckle-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 © 2011 Ryan LeCompte. See LICENSE for further details.