Perfect Audit API wrapper.
Add this line to your application's Gemfile:
gem 'perfect_audit'
And then execute:
$ bundle
Or install it yourself as:
$ gem install perfect_audit
PerfectAudit.configure do |config|
config.client_id = 'your_client_id'
config.client_secret = 'your_client_secret'
end
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]
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))
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
Sponsored by JetRockets.
The gem is available as open source under the terms of the MIT License.