Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Gem Gem Version Build Status Maintainability Test Coverage


Welcome to the PlateApi gem. This gem provides a wrapper to communicate with the Plate API, taking care of authentication.


Add this line to your application's Gemfile:

gem 'plate_api'

And then execute:

$ bundle

Or install it yourself as:

$ gem install plate_api

Getting started (TLDR;)

To get started with a simple connector:

# Initialze a connector
plate_api ="{{public_key}}", "{{secret_key}}")

# Find information of a specific site with id == 822
site = plate_api.sites.find(822)

# Find all posts in this site
posts = site.posts

# Find all elements in the first post of this site
first_post = posts.first
elements = first_post.elements

# Update the content field 'body' of the first element
element = elements.first
element.update(body: "<h2>My new text</h2>")

Establishing a connection object

To create a connection object, representing a connection to the Plate API, you need a public and a secret key. The Plate API docs explain how to get such keys.

Given these two keys, a connection object can be established as follows:

plate_api ="{{public_key}}", "{{secret_key}}")

The Plate API object can be used to find resources with a certain id:

Retrieve a resource by id.

To retrieve a resource with a specific id, do the following: (to retrieve an element with id=12)

element = plate_api.elements.find(12)

Create/Update/Delete resources given an object

To create a resource, you first retrieve the parent of the resource you want to create. Second, you pass the create parameters in the create_{{resource}} method:

column = plate_api.columns.find(12)
element = column.create_element(content_type_id: 71, some_content_parameter: "Avé moi")

To update a resource:

element = plate_api.element.find(36)
element.update(some_content_parameter: "New content")

To delete a resource (be careful):

element = plate_api.element.find(223)

Create/Update/Delete resources directly:

It is also possible to use the plate_api instance to execute actions directly, without first retrieving the object itself.

To create a resource:

column = plate_api.columns.find(12)
plate_api.elements.create(column, content_type_id: 71, some_content_parameter: "Avé moi")

To update a resource :

plate_api.elements.update(36, some_content_parameter: "New content")

To delete a resource:


List child resources

To list all childs of a resource, for example to get all elements in a section:

section = plate_api.sections.find(50)
all_elements = section.elements

To pass some arguments to the request (like pagination, or to filter on content_type):

section = plate_api.sections.find(50)
all_elements = section.elements(content_type_id: 150, page: 12, per_page: 10)

To find the total amount of childs of a resource:

section = plate_api.sections.find(50)
count = section.elements_total_count


After checking out the repo, run bin/setup to install dependencies. Then, run rspec spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to


The gem is available as open source under the terms of the MIT License.

You can’t perform that action at this time.