Module: Mab::Mixin::HTMLDefiners

Included in:
HTML5
Defined in:
lib/mab/mixin.rb

Instance Method Summary collapse

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 define_empty_tags(*tags)
  tags.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 define_tags(*tags)
  tags.flatten.each do |tag|
    define_tag(tag, tag)
  end
end