Skip to content

Latest commit

 

History

History
71 lines (50 loc) · 1.72 KB

README.md

File metadata and controls

71 lines (50 loc) · 1.72 KB

CloseEncounters

… of the Third Party.

Add serices and events that can track responses from third-party services.

Usage

Install it like any other rails engine.

rails close_encounters:install:migrations

Then when you have it installed and migrated you can start tracking events.

response = SomeThirdPartyService.call
CloseEncounters.contact("SomeThirdPartyService", status: response.status.to_i, response.body)

If the services regularly returns 200 responses, no new events will be recorded. When it switches to a different status, a new event will be recorded.

CloseEncounters.status("SomeThirdPartyService") # => 200
# evuntually you use `contact` and it records a 500 and you'll be able to get
CloseEncounters.status("SomeThirdPartyService") # => 500

Rack Middleware

Setup your middleware in your config/application.rb or config/environments/production.rb.

config.middleware.use CloseEncounters::Middleware

This will automatically track responses from third-party services when you store a "domain" key in the connection_info in the ParticipantService records.

Alternatively, you can use the auto_contact! method to automatically turn on the rack middleware:

CloseEncounters.auto_contact!

TODO

  • Add JS to the gem to track events on the front-end.
  • Add a UI to create and manage services.
  • Add a UI to view events.

Installation

Add this line to your application's Gemfile:

gem "close_encounters"

And then execute:

$ bundle

Or install it yourself as:

$ gem install close_encounters

License

The gem is available as open source under the terms of the MIT License.