apimatic-core-interfaces

Gem Version Linting Ruby Style Guide Maintainability Licence

Introduction

This project contains the abstract layer for core library ruby. The purpose of creating interfaces is to separate out the functionalities needed by ruby core library. The goal is to support scalability and feature enhancement of the core library and the SDKs along with avoiding any breaking changes by reducing tight coupling between modules through the introduction of interfaces.

Version supported

Currently APIMatic supports 2.6 <= Ruby version <= 3.2 hence core-interfaces-ruby will need the same versions to be supported.

Installation

Installation is quite simple, just execute the following command:

gem install apimatic_core_interfaces

If you'd rather install apimatic_core_interfaces using bundler, add a line for it in your Gemfile:

gem 'apimatic_core_interfaces'

Interfaces

Name Description
HttpClient To save both Request and Response after the completion of response
ResponseFactory To convert the client-adapter response into a custom HTTP response
Authentication To setup methods for the validation and application of the required authentication scheme
ClientConfiguration To setup the http client configurations including retries, timeouts and connections etc.

Enumerations

Name Description
DateTimeFormat Enumeration containing different datetime formats (RFC1123, RFC3339, UNIX_TIMESTAMP)
HttpMethod Enumeration containing HTTP Methods (GET, PUT, POST, PATCH, DELETE, HEAD)
ArraySerializationFormat Enumeration containing different array serialization formats (INDEXED, UNINDEXED, PLAIN, CSV, PSV, TSV)