AWS CloudSearch Gem
On April 9, 2012 we launched our new search engine utilizing AWS CloudSearch, Amazon's search-as-a-service platform. Since we were early adopters and part of the CloudSearch private beta, there were no Ruby gems available to work with the CloudSearch APIs. So we built one. We named it aws_cloud_search, put the source code on Github, and published the gem on RubyGems.org.The library implements two of the three APIs that comprise AWS Cloud Search: search and document batching (the API to add documents to the search index). The third API, configuration, is on the roadmap for future development. Being an open source project, we are more than willing to review pull requests that implement the configuration API or any other functionality that would make this library even better.
Zitdunyet Gem
Sometimes you want to know how complete a task or object is. We recently launched two features that make use of this library and both answer the question, "How complete is this thing? Is it done yet?" (hence, zitdunyet). Specifically, we are highlighting how complete a Spoke page is along with the steps you can take to make it more complete. We also want to encourage users to contribute edits, and have a curator program to recognize various levels of participation. Knowing how close you are to the next level may give you the incentive to “get it done.”This library abstracts this concept of completeness with a DSL (domain specific language) to define the conditions of completeness and their hints. It provides functions to get the percentage complete, a list of items completed and not completed, and a list of hints. On the roadmap, we want to add the ability to express staleness of a record or checkoff item.
At Spoke we have found that this gem works great in the Decorator pattern – wrap a completeness object around a Rails model in the controller and pass that along to the view for rendering.