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/
letsfreckle-client is available as a RubyGem:
gem install letsfreckle-client, require: 'letsfreckle'
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.
# 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
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.
-
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.
-
Ryan LeCompte
Copyright © 2011 Ryan LeCompte. See LICENSE for further details.