module Webby::Helpers::TagHelper
Provides methods to generate HTML tags programmatically. By default, they output XHTML compliant tags.
Constants
- BOOLEAN_ATTRIBUTES
Public Instance Methods
escape_once( html )
click to toggle source
Returns an escaped version of html
without affecting existing
escaped entities.
Examples¶ ↑
escape_once("1 > 2 & 3") # => "1 < 2 & 3" escape_once("<< Accept & Checkout") # => "<< Accept & Checkout"
# File lib/webby/helpers/tag_helper.rb, line 36 def escape_once( html ) html.to_s.gsub(/[\"><]|&(?!([a-zA-Z]+|(#\d+));)/) { |special| ERB::Util::HTML_ESCAPE[special] } end
Private Instance Methods
tag_options( options, escape = true )
click to toggle source
# File lib/webby/helpers/tag_helper.rb, line 42 def tag_options( options, escape = true ) unless options.empty? attrs = [] if escape options.each do |key, value| next if value.nil? key = key.to_s value = BOOLEAN_ATTRIBUTES.include?(key) ? key : escape_once(value) attrs << %Q(#{key}="#{value}") end else attrs = options.map {|key, value| %Q(#{key}="#{value}")} end %Q( #{attrs.sort * ' '}) unless attrs.empty? end end