class OpenDSL

OpenDSL is a clever way to create a plugable free-form domain specific language.

Example = OpenDSL.new do
  size do
    100
  end
end

class Foo
  include Example
end

Foo.new.size  #=> 100

Constants

VERSION

Public Class Methods

new(&block) click to toggle source
# File lib/opendsl.rb, line 21
def initialize(&block)
  instance_eval(&block) if block_given?
end

Public Instance Methods

method_missing(s, *a, &b) click to toggle source
Calls superclass method
# File lib/opendsl.rb, line 26
def method_missing(s, *a, &b)
  if block_given?
    define_method(s, &b)
  else
    super(s, *a, &b)
  end
end