From 8cb923e3de7172620cb672c78807ebb3d70171c4 Mon Sep 17 00:00:00 2001 From: Jan-Erik Rediger Date: Fri, 21 Sep 2012 13:06:49 +0200 Subject: [PATCH] new post: BadBill - a Billomat API client --- ...9-21-badbilla-billomat-api-client.markdown | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 _posts/2012-09-21-badbilla-billomat-api-client.markdown diff --git a/_posts/2012-09-21-badbilla-billomat-api-client.markdown b/_posts/2012-09-21-badbilla-billomat-api-client.markdown new file mode 100644 index 0000000..b4c63c8 --- /dev/null +++ b/_posts/2012-09-21-badbilla-billomat-api-client.markdown @@ -0,0 +1,68 @@ +--- +layout: post +title: BadBill - a Billomat API client +date: 21.09.2012 12:58 +--- +I'm happy to announce the release of my Billomat API client: + +## [BadBill][repo] + +BadBill is a simple API client for the [Billomat API][apidocu]. +It allows access to all resources the API offers. + +For now only `clients` and `invoices` are pure Ruby classes, but all other resources are available trough an easy interface returning Hash-like objects. + +My goals for this project: + +* Fast and easy access to all resources the API provides + (not all resources are Ruby classes, yet) +* Full documentation. +* Test coverage as best as I can. +* Production-ready (it's for a job project). + +I'm sure it may include bugs and it's not ready for all use-cases, +but as this is open-source now I accept all ideas, improvements, bug reports and pull-requests. +Just go to the [Github repository][repo] and start hacking. ;) + +Install it via Rubygems: + + gem install badbill + +Read the documentation online: [BadBill documentation](http://rubydoc.info/github/badboy/badbill/master/frames) + +And now for some code examples: + +#### Basic interface: + + bill = BadBill.new "billo", "18e40e14" + # => # + bill.get 'settings' + # => {"settings"=> + # {"invoice_intro"=>"", + # "invoice_note"=>"", + # ...}} +{:lang="ruby"} + +#### Using defined resources classes: + + BadBill.new "billo", "18e40e14" + + BadBill::Invoice.all + # => [#], ...] + + invoice = BadBill::Invoice.find(1) + invoice.pdf + # => {"id"=>"1", + # "created"=>"2012-09-17T13:58:42+02:00", + # "invoice_id"=>"322791", + # "filename"=>"Invoice 322791.pdf", + # "mimetype"=>"application/pdf", + # "filesize"=>"90811", + # "base64file"=>"JVBERi0xLjM..."} + invoice.delete + # => true +{:lang="ruby"} + + +[repo]: https://github.com/badboy/badbill +[apidocu]: http://www.billomat.com/en/api/