dry-plugins: DSL for plugins
Abstract DSL for providing plug-in interface for PORO and complex structures.
Wikipedia says following:
The host applicationwhich the plug-in can use, including with the host application and a protocol for the exchange of data with plug-ins. Plug-ins depend on the services provided by the host application and do not usually work by themselves. Conversely, the host application operates independently of the plug-ins, making it possible for end-users to add and update plug-ins dynamically without needing to make changes to the host application.
Programmers typically implement plug-in functionality using shared libraries installed in a place prescribed by the host application. HyperCard supported a similar facility, but more commonly included the plug-in code in the HyperCard documents (called stacks) themselves. Thus the HyperCard stack became a self-contained application in its own right, distributable as a single entity that end-users could run without the need for additional installation-steps. Programs may also implement plugins by loading a directory of simple script files written in a scripting language like Python or Lua.
dry-plugins is a utility to provide plug-ins interface for your Ruby class (called host in documentation).
- a plug-ins registry;
- - a plug-in resolver;
- — a proxy for a plug-in;