Based on customer feedback, we have been working on improving our all-category SDKs. We recently released our Advanced Ruby SDK. It is currently available for anyone to use.
Note that the existing Ruby SDKs are fully functional and will continue to work. There are key benefits in using this Advanced SDK. We strongly recommend to use the new SDKs. You’ll play an integral role in providing feedback on our SDKs, making them more usable and robust and get a head start on migrating over. We would love any and all feedback by reaching out to your engagement manager or [email protected]. All your feedback will be promptly addressed.
Migration Guide
This guide is for Merge customers using the Gen-0 Ruby SDKs:
Generation | SDK Name | Github | Package Name |
0 | Merge HRIS Ruby | MergeHRISClient | |
0 | Merge ATS Ruby | MergeATSClient | |
0 | Merge Accounting Ruby | MergeAccountingClient | |
0 | Merge Ticketing Ruby | MergeTicketingClient | |
0 | Merge CRM Ruby | MergeCRMClient |
We recommend all customers move to the Advanced SDK:
SDK Name: Merge Ruby Client
Github: merge-ruby-client
Package manager: Merge Ruby Client
This SDK has the following advantages
Feature | Description |
Regular updates and priority support | The new SDK will have regular updates to keep it up to date with the latest changes to the API and feature improvements, along with priority support to help address any issues quickly. |
Snippets/example usage embedded within the SDK’s documentation | Inline examples of function usage combined with comprehensive snippets of code in the Merge Docs makes new implementation easier than the legacy SDK. |
First class async support | The new SDK leverages https://github.com/socketry/async under the hood to allow for an async/await pattern that's pretty new to Ruby. In newer versions of Ruby, it leverages Fibers under the hood which is an improved threading paradigm in Ruby.
async_client = Merge::AsyncClient.new(api_key: ENV["MERGE_API_KEY"],account_token: ENV["MERGE_ACCOUNT_TOKEN"]) |
Unified SDK (e.g. only one gem to install) | Merge previously only had single category offerings of our SDKs. Now, becoming a multicategory user of Merge requires only installing the one Ruby gem. Your internal Merge implementation becomes even more lightweight. |
Improved type hinting and yardoc support | In addition to the basic yardoc usage in the existing SDK, the same is applied the models. This way you get inputs, outputs, and examples documented and type-hinted for both functions and models. |
This SDK has all Merge categories, which makes it easy for Merge customers to find all endpoint methods in one package. The earlier single-category SDKs as well as the multi-category SDK all have the same style of method call, so let’s consider what it looks like to move from an existing employees list call to the new SDK.
Earlier SDK Code
# Load the gem
require 'merge_ats_client'
# Setup authorization
MergeATSClient.configure do |config|
# Configure API key authorization: tokenAuth
config.api_key['tokenAuth'] = 'YOUR API KEY'
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
# config.api_key_prefix['tokenAuth'] = 'Bearer'
end
api_instance = MergeATSClient::AccountDetailsApi.new
result = api_instance.account_details_retrieve('YOUR_ACCOUNT_TOKEN')
puts result
Advanced SDK Equivalent
# Load the gem
require "merge_ruby_client"
# Setup authorization
merge = Merge::Client.new( api_key: 'YOUR_API_KEY' )
result = merge.ats.account_details.retrieve(account_token:'YOUR_ACCOUNT_TOKEN')
puts result