Module: Mab::Mixin::HTMLDefiners
- Included in:
- HTML5
- Defined in:
- lib/mab/mixin.rb
Instance Method Summary collapse
- #define_empty_tag(meth, tag) ⇒ Object
- #define_empty_tags(*tags) ⇒ Object
- #define_tag(meth, tag) ⇒ Object
- #define_tags(*tags) ⇒ Object
Instance Method Details
#define_empty_tag(meth, tag) ⇒ Object
199 200 201 202 203 204 205 206 207 208 |
# File 'lib/mab/mixin.rb', line 199 def define_empty_tag(meth, tag) class_eval <<-EOF def #{meth}(attrs = nil) if (!attrs.nil? && !attrs.is_a?(Hash)) || block_given? raise Error, "#{meth} doesn't allow content" end tag!(:#{tag}, attrs) end EOF end |
#define_empty_tags(*tags) ⇒ Object
210 211 212 213 214 |
# File 'lib/mab/mixin.rb', line 210 def (*) .flatten.each do |tag| define_empty_tag(tag, tag) end end |
#define_tag(meth, tag) ⇒ Object
181 182 183 184 185 186 187 188 189 190 191 |
# File 'lib/mab/mixin.rb', line 181 def define_tag(meth, tag) class_eval <<-EOF def #{meth}(content = "", attrs = nil, &blk) if content.is_a?(Hash) attrs = content content = "" end tag!(:#{tag}, content, attrs, &blk) end EOF end |
#define_tags(*tags) ⇒ Object
193 194 195 196 197 |
# File 'lib/mab/mixin.rb', line 193 def (*) .flatten.each do |tag| define_tag(tag, tag) end end |