Trailblazer introduces several new abstraction layers into Rails. It gives developers structure and architectural guidance and finally answers the question of "Where do I put this kind of code?" in Rails. My book's first sample chapter is available now as a free download.
apotonick — 85 posts
Representable 2.1 Is Faster! nicksda.apotomo.de
The new representable release allows to skip rendering and parsing of properties dynamically. This allows to exclude properties at run-time, e.g. to reflect permission restrictions. It also got faster and we added a debug mode to help understanding what Representable does internally.
Rails Misapprehensions: Replace Helpers With View Models! nicksda.apotomo.de
The new Cells view model allows replacing helpers and partials with a clean, encapsulated component by introducing a badly needed new abstraction layer.
Representable is a mapping gem to transform Ruby objects to and from hashes, JSON, XML, and YAML. This blog post explains the new features in the 2.0 release.
Rails Misapprehensions: Single Responsibility Principle nicksda.apotomo.de
SRP is, hand in hand with MVC, Decorator, and SEO, one of the most misunderstood concepts in the Ruby community. In a quick post I describe what SRP means and how you can use it when designing APIs.
Reform 1.0 – Form Objects For Ruby And Rails nicksda.apotomo.de
The Reform gem turned 1.0! Its popular form objects have been simplified , the public API reduced and new features like automatic populating have been added. The new exciting Reform::Contract layer helps you decoupling persistance from validations - for good! Read the blog post here!
Better Nesting in API Documents With Representable 1.7.6 nicksda.apotomo.de
Representable helps you rendering and parsing API documents. Mapping deeply nested documents to flat objects has been a bit of a pain. A new DSL method simplifies that in an enjoyable way.
Reform 0.2 Released – With has_one And has_many Support! nicksda.apotomo.de
Reform is a form object gem that decouples your forms from your models. We're happy to announce version 0.2 with support for nested forms to handle
has_manyassociations in a database-agnostic way.
Representable 1.7 Is Out With PUT Semantics, Inline Representers And Predictable Coercion! nicksda.apotomo.de
The mapping gem representable got support for syncing objects when parsing REST documents and some more awesome features, read the release blog post to learn more about it.
Passing Options In Roar-Rails Now Works! And Representable Got New Lambdas. nicksda.apotomo.de
The new release of roar-rails allows you passing user options to #respond_with and #consume! Also, overriding reading and writing of document fragments in representable is now easily achieved, but, hey, read the whole story here.
Representable 1.3.3 Released With User Options Support! nicksda.apotomo.de
Representable 1.3.3 got :setter and :getter to define accessors inline and process user options from outside! Heads-up here.
Released Roar 0.11.5 With HAL Link Arrays and Representable 1.2.9 With Polymorphism Support! nicksda.apotomo.de
The new Roar version now completely implements the HAL/JSON standard, including the long-awaited link arrays. Also, representer got some nice new features for polymorphism in your REST representations - check it out on my blog.
YAML Support and Hash Representer In representable-1.2.7! nicksda.apotomo.de
The representable gem got YAML support with flow-style lists, a hash representer for using forms and more. Where? Here!
Fear Of The Class: Fat Model Kills Your Software Design. nicksda.apotomo.de
The first post quickly analyzes the problem of growing "model" classes in Rails project. As we tend to mix persistance and domain the post wants to encourage you to introduce new classes when your models get bloated.
Using Rails Gems Like simple_form in Sinatra Or Anywhere nicksda.apotomo.de
Have you ever wanted to use simple_form in a Sinatra app? The new cells version allows using Rails gems outside of Rails in any environment. And surprisingly this article describes how this works!
Coercion Support for Roar with Virtus nicksda.apotomo.de
We just married Virtus, a coercion gem, with the REST framework Roar. Check out how the automatic type conversion can help when parsing or rendering REST documents.
Roar 0.10 with JSON-HAL Support and Representable 1.1.6 Released nicksda.apotomo.de
Roar 0.10 got support for HAL+JSON, a new promising hypermedia REST format. Representable 1.1.6 got the :if option for conditional representing properties. Read it here.
Ruby On REST 5: Learn Hypermedia By Making Fruit Salad nicksda.apotomo.de
Discussing the concept of REST and hypermedia we learn what is a hypermedia type, why HAL+JSON makes our life easier and how to fix a yummy fruit salad.
Ruby on REST 4: Using Representers in Rails nicksda.apotomo.de
Ruby On REST 3: One Model, Multiple Representations! nicksda.apotomo.de
In the 3rd post of the Ruby on REST series we learn a bit more about resources and why and how one particular model can be represented in multiple contexts.
Apotomo – Screencasts Of Glory – Episode 4: Partial Updates nicksda.apotomo.de
In this screencast we learn how to use the event instance as a messaging object between widgets and how to partially update the page without having to re-render the entire widget.
rspec-apotomo released - Spec your Rails Widgets! nicksda.apotomo.de
We just released the first working 0.9.1 version of apotomo-rspec that brings render_widget and trigger to your specs. Check out this brief walk-through.
Rails Misapprehensions: The Dependency Injection Pattern nicksda.apotomo.de
A discussion about the Dependency Injection pattern in Ruby/Rails, and the role of components in Rails.
Rails Misapprehensions: Query Parameters are RESTful nicksda.apotomo.de
Long URLs and query parameters are nothing wrong in REST, however you're free to expose additional resources with dedicated URLs in your Rails project (or anywhere else). Read how resources, URLs and query parameters fit together and feel free to comment!
Event Bubbling in Widgets (Apotomo Screencasts of Glory, Episode 3) nicksda.apotomo.de
The third episode of the Apotomo screencasts explains how Ruby widgets can use event bubbling for building decoupled view components.
Representable gem released: Improve your REST representation code! nicksda.apotomo.de
test_xml released - Testing your XML has never been easier! nicksda.apotomo.de
We released test_xml to help you testing XML with Test::Unit, MiniTest, RSpec and Cucumber. Here's an overview of the assertions and matchers making your life simpler.
Rails Misapprehensions: Rails needs more abstraction layers! nicksda.apotomo.de
Rails Misapprehensions: The Hardest Thing about REST is Working with Representations! nicksda.apotomo.de
Working with resource representations is the hardest part about REST. This blog post discusses how Rails handles de-/serialization of representations, the limitations of the Rails way and the problems when cluttering transformation rules. It then introduces the new roar gem which tries to solve all that with representers and more.
Rails Misapprehensions: Caching Views is Not the View’s Job! nicksda.apotomo.de
Read and discuss view caching in Rails, the pros and cons of fragment caching, how Cells handles caching, and why we should put work into testing cache mechanics.
Cells 3.5 released, ah, and rspec-cells is out, too! nicksda.apotomo.de
Find out what cool changes were introduced in the new Cells 3.5: We got better generators, state-args and rspec.
Rails Misapprehensions: Understanding RESTful PUT and POST nicksda.apotomo.de
In my last article this year I explain the difference between POST and PUT by using the classical shopping cart example. Happy New Year to all you coders!
Pragmatic Rails: Thoughts on Views, Inheritance, View Inheritance and Rails 3.0.4 nicksda.apotomo.de
Rails 3.0.4 will have view inheritance. This post discusses how this advanced technique can help having cleaner views, how it works in Rails and how to get real object-oriented partials with inheritance and overriding.
Rails Misapprehensions: REST is more than GET, POST, PUT and DELETE! nicksda.apotomo.de
Pragmatic Rails: Write RIAs, not websites! nicksda.apotomo.de
Anybody so far wrote about developing rich desktop-like Rails applications so I posted this comprehensive guide about Rails and web components.
Pragmatic Rails: Let’s do AJAX-backed Sidebar Widgets right, Jim! nicksda.apotomo.de
In the last post we wrote a sidebar widget which is now turned into a real AJAX widget using Apotomo, the one and only web components framework for Rails.
Let's write a Reusable Sidebar component in Rails 3! nicksda.apotomo.de
Just a brief tutorial on writing a sidebar widget for a Rails app without work-arounds like partials or presenters.
Rails Misapprehensions: What the fsck is MVP? nicksda.apotomo.de
There's a lot of confusion about MVC and MVP, especially in Rails people try to break out from the monolithic MVC approach by using Presenters and Cells. Help me to clarify this pattern, read, comment, discuss and please insult me, again!
How Blueprint and Compass help Idiots making CSS layouts nicksda.apotomo.de
This nerd's tutorial helps understanding how Blueprint, Compass, SASS and Rails work together to make better-looking pages. It is addressed to non-designers like me.
10 Points How Cells Improves your Rails Architecture nicksda.apotomo.de
What steps does it take to improve your architecture with Cells? This article discusses the best practices from keeping views dumb, via slim controllers, how to avoid messy helpers, through to hiding your caching strategy and component-oriented teams.
Hooks without ActiveSupport? nicksda.apotomo.de
A vivid discussion about the benefits of ActiveSupport in gems lead me to releasing a new version of hooks without the ActiveSupport dependency. I'd love to hear your thoughts about the future of do-it-all ruby feature libraries like ActiveSupport (please comment on the blog post)
Getting a bloody Rails 3 generator running. And testing it. nicksda.apotomo.de
The first real explanation ever on how to write rails 3 generators and package 'em in your gem library along with rock-solid tests.
ActiveHelper - helpers with proper encapsulation, delegation, interfaces and inheritance! apotomo.de
ActiveHelper is a generic framework for writing clean helpers with defined interfaces. It is geared towards usage in frameworks like Rails, Merb, Sinatra or your own project. Check out my introducing blog post and yada yada.
Your 12 Minutes of Apotomo - new weekly tutorial series on stateful ruby widgets launched! apotomo.de
Apotomo brings stateful components to Ruby and Rails. Finally we started a tutorial series showing all the bits and pieces of widget implementation, event triggering and handling, AJAX page updating and component-oriented architecure.