RABL (Ruby API Builder Language) is a Rails and Padrino ruby templating system for generating JSON, XML, MessagePack, PList and BSON. It provides a more expressive and powerful solution for generating APIs than ActiveRecord's 'to_json' method. It is particularly helpful when the JSON representation is complex or doesn't match the exact schema defined within the database. With it, one can easily: - Create arbitrary nodes with names based on combining data in an object - Pass arguments to methods and store the result as a child node - Render partial templates and inherit to reduce code duplication - Rename or alias attributes to change the name from the model - Append attributes from a child into a parent node - Include nodes only if a certain condition has been met