An open API service indexing awesome lists of open source software.

https://github.com/rubyworks/opendsl

Simple Open Nomencalture DSL System
https://github.com/rubyworks/opendsl

Last synced: 11 months ago
JSON representation

Simple Open Nomencalture DSL System

Awesome Lists containing this project

README

          

= OpenDSL

{Homepage}[http://rubyworks.github.com/opendsl] |
{Source Code}[http://github.com/rubyworks/opendsl] |
{Mailing List}[http://groups.google.com/group/rubyworks-mailinglist] |
{Issue Tracker}[http://github.com/rubyworks/opendsl/issues]

{}[http://travis-ci.org/rubyworks/opendsl]

== DESCRIPTION

OpenDSL provides an open nomenclature for writing
domain specific instructions. The idea is inline
with the idea of duck-typing. You can allow domain
instructions to be given up front free of restriction,
then applying them later their correctness plays out
as they are utilized.

The library is especailly useful for plugins systems.

== RELEASE NOTES

Please see HISTORY.rdoc file.

== SYNOPSIS

There are a few different ways in which this library can be
put to use, but the basic idea for all of them can be
demonstrated simply enough.

Foo = OpenDSL.new do
foo do
'foo'
end
end

class Something
include Foo

def foobar
foo + 'bar'
end
end

OpenDSL.new creates a subclass of Module. Indeed, this library was
orginally called OpenModule, but the name was changed to focus
on it's utility, rather than it's implementation. Since an OpenDSL
object is a module you can use it just like any other module.

== HOW TO INSTALL

To install with RubyGems simply open a console and type:

gem install opendsl

Site installation requires Setup.rb (gem install setup),
then download the tarball package and type:

tar -xvzf openmodule-1.0.0.tgz
cd opendsl-1.0.0.tgz
sudo setup.rb all

Windows users use 'ruby setup.rb all'.

== COPYRIGHTS

Copyright (c) 2009 Thomas Sawyer

This program is ditributed unser the terms of the *FreeBSD* license.

See COPYING.rdoc file for details.