<commit_before># FreezeWatch #

FreezeWatch is a weather polling service designed to alert a user when the
outside temperature is going to drop below a preset safe limit.

## Uses ##

FreezeWatch was originally designed to assist me with gardening in the later
fall and early spring. It has saved me from losing my tomato plants to frost
several times.

I've also found a use for it in the deep winter. I configure my minimum
temperature to alert me if the temperature will drop below 0, so that I can
take measures to prevent the pipes in our house from freezing.

Pretty handy!

## Pre Requisites ##

- Ruby 2.0 or greater
- Bundler ruby gem

## Installation ##

A task is provided in the rakefile to make installation quick and easy. When
you run the rake task, you'll be prompted for the necessary information needed
to get FreezeWatch up and running. These settings can be changed at anytime
after the installation by editing the `freezewatch.yaml` file that will be
created by the installer.

    git clone https://github.com/mgarriott/freezewatch.git
    cd freezewatch/
    bundle install
    bundle exec rake install

*If you experience any issues with installation please read the sections
below*

### Compatibility ###

FreezeWatch was designed on arch linux and little concern was given to cross
platform compatibility. I'm not opposed to supporting other platforms, but I
have no intention to do so unless people express an interest.

### Users With Systemd ###

Barring unforeseen problems, the application should work on most platforms.
Please open an issue if you experience difficulties.

### Users Without Systemd ###

If your system isn't running systemd, expect to see an error when the
installer attempts to create the service file. However, this shouldn't affect
the applications configuration as a whole.

Because the systemd service file will not be installed, FreezeWatch must be
manually started. This can be done with the following:

    # We need to execute the program as root to read the authentication file
    sudo bundle exec ruby /path/to/freezewatch/src/freezewatch_daemon.rb start

FreezeWatch can be started automatically on login by adding the following line
to your `~/.profile` file. Most likely you'll need to add an entry to your
sudoers file to allow this to run without a password, or it will fail to read
the authentication file.

    sudo bundle exec ruby /path/to/freezewatch/src/freezewatch_daemon.rb start

## Uninstalling ##

A rake task is also provided for uninstalling.

    bundle exec rake uninstall

This will remove the systemd service file created during installation (if one
was created).

If you previously enabled the service with:

    systemctl enable freezewatch.service

Then you need to disable the service with:

    systemctl disable freezewatch.service

## Contributing ##

If you are interesting in contributing to FreezeWatch please ensure your
commits follow a few simple guidelines.
<commit_msg>Remove root requirements from README instructions<commit_after># FreezeWatch #

FreezeWatch is a weather polling service designed to alert a user when the
outside temperature is going to drop below a preset safe limit.

## Uses ##

FreezeWatch was originally designed to assist me with gardening in the later
fall and early spring. It has saved me from losing my tomato plants to frost
several times.

I've also found a use for it in the deep winter. I configure my minimum
temperature to alert me if the temperature will drop below 0, so that I can
take measures to prevent the pipes in our house from freezing.

Pretty handy!

## Pre Requisites ##

- Ruby 2.0 or greater
- Bundler ruby gem

## Installation ##

A task is provided in the rakefile to make installation quick and easy. When
you run the rake task, you'll be prompted for the necessary information needed
to get FreezeWatch up and running. These settings can be changed at anytime
after the installation by editing the `freezewatch.yaml` file that will be
created by the installer.

    git clone https://github.com/mgarriott/freezewatch.git
    cd freezewatch/
    bundle install
    bundle exec rake install

*If you experience any issues with installation please read the sections
below*

### Compatibility ###

FreezeWatch was designed on arch linux and little concern was given to cross
platform compatibility. I'm not opposed to supporting other platforms, but I
have no intention to do so unless people express an interest.

### Users With Systemd ###

During the `rake install` process a systemd service file will be created. You
can move this file into your systemd services directory and use it as you would any
other systemd service.

    sudo mv /path/to/freezewatch/systemd/freezewatch.service /usr/lib/systemd/system/

    # Start the freezewatch service
    sudo systemctl start freezewatch.service

    # Enable freezewatch startup on boot
    sudo systemctl enable freezewatch.service

Barring unforeseen problems, the application should work on most platforms.
Please open an issue if you experience difficulties.

### Users Without Systemd ###

If you are not using systemd, the daemon must be started manually. This can be
done with the following:

    bundle exec ruby /path/to/freezewatch/src/freezewatch_daemon.rb start

FreezeWatch can be started automatically on login by adding the following line
to your `~/.profile` file.

    bundle exec ruby /path/to/freezewatch/src/freezewatch_daemon.rb start

You can see examples of other daemon commands by running:

    bundle exec ruby /path/to/freezewatch/src/freezewatch_daemon.rb -h

## Uninstalling ##

If you copied the systemd service file into your systemd service directory you
can delete it.

If you previously enabled the service with:

    systemctl enable freezewatch.service

Then you need to disable the service with:

    systemctl disable freezewatch.service

That's it, other than the systemd file, the application runs entirely from the
directory you clone it into.

## Contributing ##

If you are interesting in contributing to FreezeWatch please ensure your
commits follow a few simple guidelines.

{'fraction_non_alphanumeric': 0.04183006535947712, 'fraction_numerical': 0.000980392156862745, 'mean_word_length': 4.143697478991597, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, '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': '999475', 'n_tokens_mistral': 1609, 'n_tokens_neox': 1543, 'n_words': 873}