0.01
Low commit activity in last 3 years
A long-lived project that still receives updates
Perfect Audit API wrapper. https://www.ocrolus.com/api-doc/
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies
 Project Readme

PerfectAudit

Gem Version Build Status Maintainability Test Coverage

Perfect Audit API wrapper.

https://ocrolus.com/api-docs/

Installation

Add this line to your application's Gemfile:

gem 'perfect_audit'

And then execute:

$ bundle

Or install it yourself as:

$ gem install perfect_audit

Configuration

  PerfectAudit.configure do |config|
    config.client_id = 'your_client_id'
    config.client_secret = 'your_client_secret'
  end

Exception Handling

If PerfectAudit will return anything different from 200 OK status code, PerfectAudit::Error will be raised. It contains #message and #code returned from API.

For example with invalid credentials you will receive:

PerfectAudit.books.all
#=> PerfectAudit::Error: Email and/or password not found [1306]

And if you will try to find a Book that does not exist, you will receive:

PerfectAudit.books.find(82087)
#=> PerfectAudit::Error: Book not found [1401]

Usage

Books Repository

Get books list for your account

PerfectAudit.books.all
#=> [#<PerfectAudit::Book:0x00007ff51bbfbe28>, ...]

Create a book

# Create a book with name=Test
PerfectAudit.books.create('Test')
#=> #<PerfectAudit::Book:0x00007ff51c8e4248 @id=0, @created_at="2018-03-22T20:21:25Z", @name="Test", @public=false ...>

# Create a book with name=Test which is public
PerfectAudit.books.create('Test', true)
#=> #<PerfectAudit::Book:0x00007ff51c8e4248 @id=0, @created_at="2018-03-22T20:21:25Z", @name="Test", @public=true ...>

Find book by ID

PerfectAudit.books.find(100)
#=> #<PerfectAudit::Book:0x00007ff51c89f828 @id=100, @created_at="2018-03-22T20:48:54Z", @name="Test", @public=false ...>

Delete a book

# To delete a book you can use either its ID or instance
PerfectAudit.books.delete(100)
#=> true

book = PerfectAudit.books.find(100)
PerfectAudit.books.delete(book)
#=> true

Export book to Excel

book = PerfectAudit.books.find(100)
File.write('./book.xlsx', PerfectAudit.books.to_excel(book))

Documents Repository

Upload document to a book

# To upload documents to a book you can use book ID or its instance and File
PerfectAudit.documents.create(100, File.open('./document.pdf'))
#=> true

book = PerfectAudit.books.find(100)
PerfectAudit.documents.create(book, File.open('./document.pdf'))
#=> true

Credits

Sponsored by JetRockets.

JetRockets

License

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