"Nasreddin, your donkey has been lost."

"Thank goodness I was not on the donkey at the time, or I would be lost too."

What is Nasreddin?

Nasreddin Hoca was a wise scolar from 13th century Anatolia. This, however, is a library designed to enable know-nothing distribution of data requests between varying services.

To connect two services, one needs to include the Nasreddin::APIServer middleware and indicate what resources it is offering:

require 'nasreddin/api-server'

use Nasreddin::APIServer, resources: %w| users |
run MyApp

Then, the consumer can use the Nasreddin::Resource class to generate new classes that will talk to the APIServer when making requests.

An example implementation of Nasreddin::Resource is provided below

require 'nasreddin/resource'

class User < Nasreddin::Resource('users') # name of endpoint for resource
end

Caveats

Currently, Nasreddin relies on JRuby and TorqueBox/HornetQ.

License

Copyright (C) 2012-2013 Burnside Digital

Licensed under the BSD 2-Clause License. See COPYING for license details.