A few months ago we switched over to using BambooHR as our primary HR software. They provide all sorts of great features for Skookum employees like a company directory with photos, PTO scheduling & approvals, and a centralized place for communication about HR benefits and updates. Those are just a few of my favorite features, but they provide so much more. You should definitely check out BambooHR if you haven't heard of them before or are looking for some new HR software.
BambooHR has an API that allows you to access various things about employees, both generally and specifically. I thought this would be a great way to manage authentication for some of our internal applications, as well as provide data for various metrics we need in order to group employees for reporting (location, department, etc.).
So like any software developer worth their salt, I went looking for someone who had done all the hard work for me by creating a library that I could reuse. BambooHR has a few listed on their API docs page, but I'm working in Ruby so their PHP, .NET, and Java libraries did me no good. I searched Github and Google only to find 1 Ruby gem:
Only has one feature: get the list of employees
Not a fan of the code architecture
So I decided to create my own more robust, documented, and tested Ruby gem for BambooHR called bamboozled. It's by no means a complete implementation of the BambooHR API, but it's a start and is architected to be expanded and built upon by others. After all, isn't that the spirit of the open source community? You can check out the docs on the Github repository to see all the gem's capabilities and how to use it.
Skookum's custom business software development philosophy involves leveraging open source software wherever possible to provide exceptional value and shorter timelines for our clients. Providing open source software back to the community is our small way of giving back. I'm proud to say that BambooHR has put a link to bamboozled on their API documentation language bindings page!