class Hpricot::CssProxy

See the README for examples.
against the CssProxy object are added as element classes or IDs.
Class used by Markaby::Builder to store element options. Methods called

def initialize(builder, sym)

Creates a CssProxy object.
def initialize(builder, sym)
  @builder, @sym, @attrs = builder, sym, {}
end

def method_missing(id_or_class, *args, &block)

Other methods add to the :class attribute.
Adds attributes to an element. Bang methods set the :id attribute.
def method_missing(id_or_class, *args, &block)
  if (idc = id_or_class.to_s) =~ /!$/
    @attrs[:id] = $`
  else
    @attrs[:class] = @attrs[:class].nil? ? idc : "#{@attrs[:class]} #{idc}".strip
  end
  if block or args.any?
    args.push(@attrs)
    return @builder.tag!(@sym, *args, &block)
  end
  return self
end