class Hpricot::CssProxy
Class used by Markaby::Builder to store element options. Methods called against the CssProxy object are added as element classes or IDs.
See the README for examples.
Public Class Methods
new(builder, sym)
click to toggle source
Creates a CssProxy object.
# File lib/hpricot/builder.rb, line 195 def initialize(builder, sym) @builder, @sym, @attrs = builder, sym, {} end
Public Instance Methods
method_missing(id_or_class, *args, &block)
click to toggle source
Adds attributes to an element. Bang methods set the :id attribute. Other methods add to the :class attribute.
# File lib/hpricot/builder.rb, line 201 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