Ruby SDK

We provide a Ruby SDKarrow-up-right to connect to PDFMonkey. This gem is the quickest way to use our API with Ruby.

Github: https://github.com/pdfmonkey/pdfmonkey-rubyarrow-up-right

Installation

Add this line to your application’s Gemfile:

Gemfile
gem 'pdfmonkey'

And then execute:

$ bundle

Or install it yourself as:

$ gem install pdfmonkey

Usage

Setting up authentication

Using the default environment variables

PDFMonkey will look for the PDFMONKEY_PRIVATE_KEY environment variable. This variable should contain your private key obtained at https://dashboard.pdfmonkey.io/account.

PDFMONKEY_PRIVATE_KEY=j39ckj4…

Setting credentials manually

You can choose to set up your credentials explicitely in your application:

Generating a document

Once your App is created in the PDFMonkey Dashboardarrow-up-right, create a Document Template and add the content you want to use. Every Document Template has a unique identifier (UUID), get your template’s identifier. Your ready to generate a Document.

Synchronous generation

If your want to wait for a Document’s generation before continuing with your workflow, use the generate! method, it will request a document generation and wait for it to succeed or fail before giving you any answer.

circle-exclamation

Asynchronous generation

PDFMonkey was created with an asynchronous workflow in mind. It provides webhooks to inform you of a Document’s generation success.

To leverage this behavior and continue working while your Document is generated, use the generate method:

If you have a webhook URL set up it will be called with you document once the generation is complete. You can simulate it for testing with the following cURL command:

Attaching meta data to the document

In addition to the Document’s payload you can add meta data when generating a Document.

This can be done by passing a third argument to the generate! and generate methods:

Error handling

In case of error, be it an HTTP layer error or an API error, document.status will be set to 'error' and document.error will contain the error message.

Fetching a document

You can fetch an existing document using the .fetch method:

Error handling

In case of error, be it an HTTP layer error or an API error, document.status will be set to 'error' and document.error will contain the error message.

Deleting a document

You can delete an existing document using the .delete method:

Alternatively you can call the #delete! method:

Error handling

In case of error, be it an HTTP layer error or an API error, an error Hash will be returned.

Last updated

Was this helpful?