Skip to content
This repository has been archived by the owner on Jun 6, 2018. It is now read-only.

Latest commit

 

History

History
125 lines (86 loc) · 4.07 KB

README.md

File metadata and controls

125 lines (86 loc) · 4.07 KB

Deprecation

Please note that Ereignishorizont is deprecated and therefore no longer actively maintained.

README Code Climate Build Status

Welcome to Ereignishorizont!

Description

Ereignishorizont is an open event-logging system with triggers/hooks to run arbitrary tasks when an event is matched or not matched.

It was proposed as a project for the Rails Girls Summer of Code. Its two main contributors are the Rails Girls Susanne and Tam who worked on the project from July 2 - September 30, 2013 at the ABSOLVENTA offices in Berlin.

Features

  • Track events
  • Receive an email about if your event of choice occurred or not

Installation

Download the code (or fork / clone locally). To host your instance on Heroku, you need:

  1. a database
  2. a scheduler that runs rake matcher once per hour
  3. a scheduler that runs rake cleanup daily (optional, see Configuration below)

Configuration

The app can be configured using EREIGNISHORIZONT_* environment variables or, alternatively, a config/config.yml file. See config/initializers/app_config.rb for details and default values.

As of v1.7, a cleanup task to purge old incoming events is included. Add rake cleanup to your scheduler (see Installation) and set a EREIGNISHORIZONT_RETENTION_MONTHS environment variable. For example, EREIGNISHORIZONT_RETENTION_MONTHS=10 will delete all incoming events older than 10 months every time the rake task runs.

Client access

incoming events require an API token. It can be obtained by creating a RemoteSide record.

Example for registering an event using JSON:

API_TOKEN=a2ade3bd297bf93a039b06b8560ab193
curl -i -X POST \
  -H 'Content-type: application/json' \
  -d '{
    "incoming_event": { "title": "my event identifier"},
    "api_token": "$API_TOKEN"
  }' \
  http://localhost:3000/incoming_events.json

Example for registering an event using XML:

API_TOKEN=a2ade3bd297bf93a039b06b8560ab193
curl -i -X POST \
  -H 'Content-type: application/xml' \
  -d '<incoming_event><title>xml formatted</title></incoming_event>' \
  http://localhost:3000/incoming_events.xml?api_token=$API_TOKEN

To use the corresponding gem:

gem install ereignishorizont-client

(More info about Ereignishorizont's corresponding gem can be found here).

Changelog

v2.0.0 // 2016-06-02

v1.7.0 // 2015-11-10

  • Updated to Rails v4.2
  • Updated to C-Ruby 2.2
  • Allow auto-purging of old incoming events

v1.6.0 // 2015-05-05

  • Allow filtering by remote side / origin

v1.5.0 // 2014-05-05

  • Updated to Rails v4.1
  • Updated to MRI v2.1.1
  • Search through expected events' list

v1.4.0 // 2014-02-05

  • All time values are now UTC
  • Allow per-user definition of local time zone

v1.3.2 // 2014-02-05

  • Fixed issue with final hour range (now a proper 0..23)
  • Supports searching for incoming events

v1.3.1 // 2014-01-14

  • Upgrade to Rails v4.0.2

v1.3.0 // 2013-11-05

  • Supports event expectations for monthly tasks

v1.2.0 // 2013-10-24

  • Allows alarms to be shared between expected events
  • Requires expected event to belong to a specific remote side
  • Minor bugfixes and refactorings

v1.1.0 // 2013-10-08

  • Accepts optional content attribute for incoming events
  • Heaved instance methods from Matcher onto class level
  • Minor bugfixes and refactorings

v1.0.0 // 2013-09-30

  • RGSoC final version

Contributors