Dates keeps track of things you two have been meaning to do, and learns what's been fun and what hasn't along several different dimensions (i.e., adventure, romantic, intellectual, athletic; though, there aren't actually any assumptions about the dimensions you can use).
Usage
$ dates --help
dates 1.0.0-beta, max & daphne.
Usage: dates [command] [options] <ideas-file>
To see help for a specific command, use the --help switch on that command.
Commands:
choose Choose a good date idea for right now! [default command]
list Parse and list the contents of the date ideas file.
Global options:
--version, -v: Print version and exit
--help, -h: Show this message
To run it, the simplest way is just to provide it with an ideas file and nothing else:
$ dates ideas.rb
watch _serenity_: (intellectual: 5, athletic: 0, adventure: 2, romantic: 4)
Ideas
Dates need an ideas file to work. An ideas file looks like this:
DateIdeas.new do
date "watch _movie title_" do
kind :adventure => 2, :romantic => 4, :intellectual => 6, :athletic => 0
requires :weather => 0, :hours => 2
outcome 6
end
date "read a book" do
kind :romantic => 3, :adventure => 6, :athletic => 3, :intellectual => 5
requires :weather => 5, :hours => 2
end
date "go adventuring" do
kind :adventure => 5, :romantic => 7, :intellectual => 5, :athletic => 1
requires :weather => 8, :hours => 3
end
end
Commands
The choose
command picks a date, and it takes two options:
$ dates choose --help
dates 1.0.0-beta, max & daphne.
Options for `choose` command:
--weather, -w <f>: Current weather score [0-9] (default: 5.0)
--time, -t <f>: Time commitment score [0-9] (default: 5.0)
The list
command prints out the contents of an ideas file:
$ dates list --help
dates 1.0.0-beta, max & daphne.
Options for `list` command:
--incomplete, -i: Only the incomplete dates
--complete, -c: Only the completed dates (with feedback)
Tests
Dates uses RSpec 2 (core and expectations) for tests. To run them, just call:
bundle exec rspec test/spec.rb -c -f d