https://github.com/tpope/rumember
Remember The Milk Ruby API and command line interface
https://github.com/tpope/rumember
Last synced: over 1 year ago
JSON representation
Remember The Milk Ruby API and command line interface
- Host: GitHub
- URL: https://github.com/tpope/rumember
- Owner: tpope
- License: mit
- Created: 2010-09-10T19:04:28.000Z (almost 16 years ago)
- Default Branch: master
- Last Pushed: 2021-02-01T00:18:58.000Z (over 5 years ago)
- Last Synced: 2025-04-02T04:59:01.273Z (over 1 year ago)
- Language: Ruby
- Homepage:
- Size: 21.5 KB
- Stars: 106
- Watchers: 5
- Forks: 22
- Open Issues: 4
-
Metadata Files:
- Readme: README.markdown
- License: MIT-LICENSE
Awesome Lists containing this project
README
Rumember
========
Ruby API and command line client for [Remember The
Milk](http://www.rememberthemilk.com/).
## 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](http://www.rememberthemilk.com/services/smartadd/)
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](http://www.rememberthemilk.com/services/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](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)
when submitting a pull request.