Mateusz Lenik
2012-Jul-17 15:41 UTC
[Puppet Users] GSoC 2012 - State of Ruby DSL for Puppet
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 Users" group. To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/O52wMryv9FoJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Michael Stahnke
2012-Jul-17 17:46 UTC
Re: [Puppet Users] GSoC 2012 - State of Ruby DSL for Puppet
On Tue, Jul 17, 2012 at 8:41 AM, Mateusz Lenik <mt.lenik@gmail.com> wrote:> 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.Probably early next week. Looking forward to it.> > 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 Users" group. > To view this discussion on the web visit > https://groups.google.com/d/msg/puppet-users/-/O52wMryv9FoJ. > To post to this group, send email to puppet-users@googlegroups.com. > To unsubscribe from this group, send email to > puppet-users+unsubscribe@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/puppet-users?hl=en.-- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.