Sha256: e5b50a66ad9cb3d690e9e6d6f9b3283be945b6194622535faed980d1c2af9500

Contents?: true

Size: 1.85 KB

Versions: 12

Compression:

Stored size: 1.85 KB

Contents

# Hephaestus

A plug template for Yetto. Use this to quickly spin up new plugs with a set of defaults.

## Usage

```
gem install hephaestus

hephaestus plug-app
```

Where `app` represents the name of the platform you'd like to interact with `jira`, `notion`, `slack`, etc.

If you're working on updating/testing this gem locally, you may also want:

```
rm -rf plug-app && DEBUG=1 hephaestus/bin/hephaestus plug-app
```

This way you can wipe the dir and quickly iterate on new changes.

## Building upon it

### Launching the server

First, you'll note that you have a `script/ngrok` file, which launches an ngrok server at `https://plug-app.ngrok.io`, which maps locally to `http://localhost:6661`. This can be essential when testing the platform locally for the first time. (Keep in mind that you still need to run `script/server` to actually start the local server—this is just to help facilitate communication with the platform.)

### Setting up routes

You should probably open up config/routes.rb to make modifications to any incoming (from the platform) or outgoing (for Yetto) HTTP flows.

### Defining settings

Next, you'll want to open `app/views/settings/new.json.jbuilder` and modify the JSON structure of the Settings form page users will see when they first install the plug. Note that this adheres to a strict schema.

### Accepting events

After a user submits a plug installation on the Yetto side, it'll send a POST payload to `/api/:version/:event/:record_type`--for example, `/api/2023-03-06/after/plug_installation`. Open up the `yetto_controller.rb` file and decide what happens next!

### Creating services

Any code which communicates with the third party should be placed in the `app/services` directory. A generic HTTP service is included.

## Acknowledgements

This project was heavily based on [thoughtbot/suspenders](https://github.com/thoughtbot/suspenders).

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
hephaestus-0.6.4 README.md
hephaestus-0.6.3 README.md
hephaestus-0.6.2 README.md
hephaestus-0.6.1 README.md
hephaestus-0.6.0 README.md
hephaestus-0.5.2 README.md
hephaestus-0.5.1 README.md
hephaestus-0.5.0 README.md
hephaestus-0.4.0 README.md
hephaestus-0.3.1 README.md
hephaestus-0.2.3 README.md
hephaestus-0.2.2 README.md