{"id":1806,"date":"2009-05-11T19:00:10","date_gmt":"2009-05-11T19:00:10","guid":{"rendered":"http:\/\/justthesam.com\/2009\/05\/new-ramaze\/"},"modified":"2009-05-11T19:00:10","modified_gmt":"2009-05-11T19:00:10","slug":"new-ramaze","status":"publish","type":"post","link":"https:\/\/justthesam.com\/?p=1806","title":{"rendered":"New Ramaze"},"content":{"rendered":"<div>My favourite Ruby web application framework&#0160;<a href=\"http:\/\/ramaze.net\/\" target=\"_blank\" rel=\"noopener\">Ramaze<\/a>&#0160;has been updated, and in a major way. As of the 2009.05 gem release Ramaze is built on top of sub-project Innate &#8211; a lean mean core that in turn builds on top of Rack. Pistos explains the major changes well in <a href=\"http:\/\/blog.purepistos.net\/index.php\/2009\/05\/06\/ramaze-200905-released\/\" target=\"_blank\" rel=\"noopener\">his blog post<\/a>. For me, although I&#39;m yet to properly get to grips with the new code, the most promising things to look forward to are:<\/div>\n<div>\n<ul>\n<li>A fresh start with a lot of accumulated cruft thrown out, resulting in cleaner, more straightforward code for Ramaze itself. I end up reading the Ramaze code a lot (it&#39;s very accessible and empowering) so this makes it even easier to delve into the internals and figure out what&#39;s what.<\/li>\n<li><span>Rack middleware is front and centre, making it easy to chain HTTP processing components into your request handling flow &#8211; like Java servlet filters.<\/span>&#0160;Not required very often, but a godsend when it is.<\/li>\n<li><span>A much tidier sessions implementation, with lazy&#0160;<\/span>initialisation.<\/li>\n<li>A rethought render helper that brings a bit more sanity to the many ways to bring in view fragments.<\/li>\n<li>Layout support is more of a core concern, with more facilities to deal with layouts sensibly.<\/li>\n<li><span>Built-in support for serving different content representations<\/span>&#0160;from the same controller.<\/li>\n<li><span>An interesting new codebase for me to poke my nose into \ud83d\ude42<\/span>&#0160;<\/li>\n<\/ul>\n<p><span>Now if only I can find time to get my Ramaze CRUD framework going in this new world order, then package it up to share with the rest of the world. One day!<\/span><\/div>\n","protected":false},"excerpt":{"rendered":"<p>My favourite Ruby web application framework&#0160;Ramaze&#0160;has been updated, and in a major way. As of the 2009.05 gem release Ramaze is built on top of sub-project Innate &#8211; a lean mean core that in turn builds on top of Rack. Pistos explains the major changes well in his blog post. For me, although I&#39;m yet [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[22,23,33],"tags":[],"class_list":["post-1806","post","type-post","status-publish","format-standard","hentry","category-programming","category-ruby","category-webtech"],"_links":{"self":[{"href":"https:\/\/justthesam.com\/index.php?rest_route=\/wp\/v2\/posts\/1806","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/justthesam.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/justthesam.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/justthesam.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/justthesam.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1806"}],"version-history":[{"count":0,"href":"https:\/\/justthesam.com\/index.php?rest_route=\/wp\/v2\/posts\/1806\/revisions"}],"wp:attachment":[{"href":"https:\/\/justthesam.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1806"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/justthesam.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1806"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/justthesam.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1806"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}