<commit_before># cheers_take2
The ruby cheers exercise (see: margaretclinard/cheers-pt1), this time 3 weeks into learning Ruby, with tests.

## Instructions

## Specifications

Start the program by running `./cheers.rb`

The program should ask:

> Hello! What is your name?

The user types in their name, for example:

> Abby

The program outputs a cheer in the following format:

> Give me an... A

> Give me a... B

> Give me a... B

> Give me a... Y

> ABBY’s just GRAND!

* If there was no input, ask again until valid input is provided
* Follow the proper grammatical rules for a and an. The rule is based on whether the spelling of a letter begins with a vowel.
* Skip non-word characters when printing the cheer (e.g. "Give me a..." lines)
* Print the user's name out as it was originally input for the "just GRAND!" line

After printing out the user's cheer, the program asks:

> Hey, Abby, what's your birthday? (mm/dd)

The user types in their birthdate

> 08/25

* If there was no input, ask again until valid input is provided
* If there was input that couldn't be parsed, the program says tries
  again, but with a prompt:

> I couldn't understand that. Could you give that to me in mm/dd format?

The program outputs the number of days until the user's birthday

> Awesome!  Your birthday is in 45 days! Happy Birthday in advance!<commit_msg>Updated specifications for non-interactive and interactive versions<commit_after># cheers_take2
The ruby cheers exercise (see: margaretclinard/cheers-pt1), this time 3 weeks into learning Ruby, with tests.

## Instructions

## Specifications, for non-interactive version of cheers

### Help Usage

Run the program by running `./cheers.rb`

If there was no name input, the program would instead print:

> I'd cheer for you, if only I knew who you were :(

> Try again with `./cheers.rb [Name] [MM/DD Birthday]`


### Regular Usage

Run the program by running `./cheers.rb Abby 08/25`

The first argument is the user's name. The second argument is the user's
birthday.

The program outputs a cheer in the following format:

> Give me an... A

> Give me a... B

> Give me a... B

> Give me a... Y

> ABBY’s just GRAND!

* Follow the proper grammatical rules for a and an. The rule is based on whether the spelling of a letter begins with a vowel.
* Skip non-word characters when printing the cheer (e.g. "Give me a..." lines)
* Print the user's name out as it was originally input for the "just GRAND!" line

After printing the cheer, the program outputs the number of days until
the user's birthday:

> Awesome!  Your birthday is in 45 days! Happy Birthday in advance!

If there was no birthday input, the program instead says:

> I would wish you a Happy Birthday, if I knew when that was!

If the input for birthday wasn't parsable, the program would instead
say:

> I couldn't understand that. Could you give that to me in mm/dd format next time?

## Specifications, for interactive version of cheers

Start the program by running `./cheers.rb`

The program should ask:

> Hello! What is your name?

The user types in their name, for example:

> Abby

The program outputs a cheer in the following format:

> Give me an... A

> Give me a... B

> Give me a... B

> Give me a... Y

> ABBY’s just GRAND!

* If there was no input, ask again until valid input is provided
* Follow the proper grammatical rules for a and an. The rule is based on whether the spelling of a letter begins with a vowel.
* Skip non-word characters when printing the cheer (e.g. "Give me a..." lines)
* Print the user's name out as it was originally input for the "just GRAND!" line

After printing out the user's cheer, the program asks:

> Hey, Abby, what's your birthday? (mm/dd)

The user types in their birthdate

> 08/25

* If there was no input, ask again until valid input is provided
* If there was input that couldn't be parsed, the program says tries
  again, but with a prompt:

> I couldn't understand that. Could you give that to me in mm/dd format?

The program outputs the number of days until the user's birthday:

> Awesome!  Your birthday is in 45 days! Happy Birthday in advance!
{'fraction_non_alphanumeric': 0.07341894838866005, 'fraction_numerical': 0.005815362248606736, 'mean_word_length': 3.596881959910913, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 35, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7601442', 'n_tokens_mistral': 1249, 'n_tokens_neox': 1180, 'n_words': 672}