Hello,

My name is Mateusz and I'm one of the GSoC 2012 students.
My proposal was to expand features of Ruby DSL for Puppet.
The idea is to make Ruby DSL as similar as possible to Puppet language, so 
it
can be learned easily and still has a power of Ruby.

I also plan to provide a script to convert existing Puppet manifests to 
Ruby,
when the DSL gets more stable and mature.

Current version of Ruby DSL can be found here:
https://github.com/mlen/puppet/tree/dsl

In comparison with previous version of the DSL it supports creating 
resources
and calling functions on top level scope. There is a new syntax for creating
resource references, setting defaults, accessing resource variables. Syntax 
for
exporting and virtualizing resources has been updated. There is no need to
create AST classes when specifying arguments for classes and definitions.
More examples of what can be done can be found here:
https://github.com/mlen/puppet-rubydsl-examples/tree/ideas

There are still things that I need to work on, for example the type loader
doesn't support Ruby DSL yet and the DSL needs better support for Ruby 1.8
(currently all DSL tests pass only on Ruby 1.9).

A more detailed post will appear about next week on Puppet blog.

If you have any suggestions, feel free to contact me via email or IRC.
I'm on freenode as mlen in #puppet.

One more thing: here is a more complex example that uses DataMapper and 
Forgery
gems. This may not work with Ruby 1.8.
https://gist.github.com/50a5bde8b9b65c2e5f89

Mateusz Lenik

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-dev/-/zSByggsPq4wJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en.

Reply via email to