Summary:ASTERISK-22149: ARI: Update/create automatic library code generation tools in git to use PyStache/Mustache templates
Reporter:Matt Jordan (mjordan)Labels:Asterisk12
Date Opened:2013-07-20 17:33:17Date Closed:2014-01-06 10:27:32.000-0600
Versions:12 Frequency of
Description:The automated code generation tools have become a tad OBE'd. They were an excellent proof of concept, but we need to formalize them more at this point.

Based on the REST models and methods, we should have a set of tools that generate:
* Objects. Objects should have properties reflecting the model properties, and methods on the properties that map to their corresponding REST API calls.
** Methods that act on all objects of a particular type should be static or class methods
** Objects that can be updated by events should support observers/event handlers that register for event notification on the object
* Events should be objects. Events that update an object should be automatically routed to that object and the object should update itself based on the event. The event should then passed to callback handlers/observers
* Factories for creating objects should probably also be added, as well as automatic tracking/caching of an application's channels, bridges, etc.

Things that can't be automatically generated and updated should be added and maintained separately.

The initial set of languages we should aim to support are Python, Perl, and JavaScript.

Ruby would be a nice addition.
Comments:By: David M. Lee (dlee) 2014-01-06 10:27:32.396-0600

We have a Python client library - https://github.com/asterisk/ari-py

Other language bindings can be built as needed/when someone's available to do it.