attr-chain
is for when you're building up a DSL
in which you'd like to have attributes
that can be chained together when they're being set.
Its simple and small, you probably aren't interested. I kept on using this pattern and wanted to abstract it away from my other code.
require 'attr-chain'
class Chainsaw
include AttributeChain
attr_chain :start, :cut
end
>> c = Chainsaw.new
>> c.start
=> nil
>> c.start(:now).cut(:hippy)
>> c.start
=> :now
>> c.cut
=> :hippy
Copyright (c) 2009 Ben Schwarz. See LICENSE for details.