Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Dates keeps track of things you two have been meaning to do.

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 bin
Octocat-spinner-32 lib
Octocat-spinner-32 test
Octocat-spinner-32 Gemfile
Octocat-spinner-32 README.mdown
Octocat-spinner-32 dates.gemspec
Octocat-spinner-32 ideas.rb
README.mdown

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
Something went wrong with that request. Please try again.