Outhad Integrations
Outhad integrations is the collection of connectors built on top of Outhad protocol.
Outhad protocol is an open source standard for moving data between data sources to any third-part destinations. Anyone can build a connetor with basic ruby knowledge using the protocol.
Prerequisites
Before you begin the installation, ensure you have the following dependencies installed:
MySQL Client
- Command:
brew install mysql-client
- Description: Required for database interactions.
- Command:
Zstandard (zstd)
- Command:
brew install zstd
- Description: Needed for data compression and decompression.
- Command:
OpenSSL 3
- Command:
brew install openssl@3
- Description: Essential for secure communication.
- Command:
Oracle Instant Client
- Download Link: https://www.oracle.com/database/technologies/instant-client/downloads.html
- Description: Required for database interactions.
Installation
Install the gem and add to the application's Gemfile by executing:
$ bundle add outhad-integrations
Usage
Source
source = Outhad::Integrations::Source::[CONNECTOR_NAME]::Client.new
source.read(sync_config)
Destination
destination = Outhad::Integrations::Destination::[CONNECTOR_NAME]::Client.new
destination.write(sync_config, records)
Supported methods
Please refer Outhad Protocol to understand more about the supported methods on source and destination
Development
Install Dependencies
- Command:
bin/setup
- Description: After checking out the repo, run this command to install dependencies.
- Command:
Run Tests
- Command:
rake spec
- Description: Run this command to execute the tests.
- Command:
Interactive Prompt
- Command:
bin/console
- Description: For an interactive prompt that allows you to experiment, run this command.
- Command:
Install Gem Locally
- Command:
bundle exec rake install
- Description: To install this gem onto your local machine, run this command.
- Command:
Release New Version
- Steps:
- Update the version number in
rollout.rb
. - Command:
bundle exec rake release
- Description: This command will create a git tag for the version, push git commits and the created tag, and push the
.gem
file to rubygems.org.