Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nighthawk/huginn_time_filter_agent

Huginn agent that filters events based on their time information
https://github.com/nighthawk/huginn_time_filter_agent

huginn huginn-agent

Last synced: about 2 months ago
JSON representation

Huginn agent that filters events based on their time information

Awesome Lists containing this project

README

        

# TimeFilterAgent

[![Gem Version](https://badge.fury.io/rb/huginn_time_filter_agent.svg)](https://badge.fury.io/rb/huginn_time_filter_agent)
[![Build Status](https://travis-ci.org/nighthawk/huginn_time_filter_agent.svg?branch=master)](https://travis-ci.org/nighthawk/huginn_time_filter_agent)

The Time Filter Agent filters events based on whether a 24h or AM/PM time in them is within a provided range.

## Installation

This gem is run as part of the [Huginn](https://github.com/huginn/huginn) project. If you haven't already, follow the [Getting Started](https://github.com/huginn/huginn#getting-started) instructions there.

Add this string to your Huginn's .env `ADDITIONAL_GEMS` configuration:

```ruby
huginn_time_filter_agent
# when only using this agent gem it should look like this:
ADDITIONAL_GEMS=huginn_time_filter_agent
```

And then execute:

$ bundle

## Usage

A simple agent that'll receive events and emit them, if they pass the time check. Options:

- `time_path` should be set to where in the event's payload the time information is, default is `time`
- `earliest` should be set to earliest allowed time, default is `08:00`
- `latest` should be set to the latest allowed time, default is `20:00`

## Development

Running `rake` will clone and set up Huginn in `spec/huginn` to run the specs of the Gem in Huginn as if they would be build-in Agents. The desired Huginn repository and branch can be modified in the `Rakefile`:

```ruby
HuginnAgent.load_tasks(branch: '', remote: 'https://github.com//huginn.git')
```

Make sure to delete the `spec/huginn` directory and re-run `rake` after changing the `remote` to update the Huginn source code.

After the setup is done `rake spec` will only run the tests, without cloning the Huginn source again.

To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release` to create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).

## Contributing

1. Fork it ( https://github.com/nighthawk/huginn_time_filter_agent/fork )
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create a new Pull Request