Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Remember The Milk Ruby API and command line interface

branch: master

rumember 1.0.1

* Fix iconv deprecation warning
latest commit c559ecce5d
Tim Pope authored June 30, 2012
Octocat-spinner-32 bin Initial commit September 19, 2010
Octocat-spinner-32 lib Fix authentication September 20, 2010
Octocat-spinner-32 spec Use Bundler and latest RSpec September 13, 2011
Octocat-spinner-32 .gitignore Enable gem to actually build September 19, 2010
Octocat-spinner-32 Gemfile Initial commit September 19, 2010
Octocat-spinner-32 MIT-LICENSE Initial commit September 19, 2010
Octocat-spinner-32 README.markdown Add a note about commit messages September 19, 2010
Octocat-spinner-32 Rakefile Use Bundler and latest RSpec September 13, 2011
Octocat-spinner-32 rumember.gemspec rumember 1.0.1 June 30, 2012
README.markdown

Rumember

Ruby API and command line client for Remember The Milk.

Command line usage

The sole motivation for this project was a quick way to capture to-dos from the command line. As such, I've chosen a chosen a very short command name of ru (something I'd normally never allow myself to do). All arguments are joined with spaces and used to invoke Remember The Milk's Smart Add feature.

ru buy milk #errand

Browser based authentication is triggered the first time ru is run, and the resulting token is cached in ~/.rtm.yml.

I was originally planning to add support for the full range of operations possible in Remember The Milk, but after pondering the interface, this seems unlikely. I just can't imagine myself forgoing the web interface in favor of something like:

ru --complete 142857 # Ain't gonna happen

API Usage

The API is a bit more fleshed out than the command line interface, but still incomplete, under-documented, and under-tested (I have additional integration tests I won't publish because they are specific to my RTM account). You'll need to familiarize yourself with Remember The Milk's API. In particular, you need to understand what a timeline is.

interface = Rumember.new(api_key, shared_secret)
interface = Rumember.new # Uses built in credentials
interface.dispatch('test.echo')

account = interface.account(auth_token)
account = interface.account # browser based and cached
account = Rumember.account # Rumember.new.account shortcut

timeline = account.timeline # cached
timeline = account.new_timeline # fresh each time

timeline.smart_add('buy milk #errand')

list = timeline.lists.first
task = list.tasks.first
transaction = task.complete
transaction.undo

Contributing

Please follow Git commit message best practices when submitting a pull request.

Something went wrong with that request. Please try again.