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 " def \#{meth}(attrs = nil)\n if (!attrs.nil? && !attrs.is_a?(Hash)) || block_given?\n raise Error, \"\#{meth} doesn't allow content\"\n end\n tag!(:\#{tag}, attrs)\n end\n EOF\nend\n" |
#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 " def \#{meth}(content = \"\", attrs = nil, &blk)\n if content.is_a?(Hash)\n attrs = content\n content = \"\"\n end\n tag!(:\#{tag}, content, attrs, &blk)\n end\n EOF\nend\n" |
#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 |