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.
