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



216
217
218
219
220
221
222
223
224
# File 'lib/mab/mixin.rb', line 216

def define_empty_tag(meth, tag)
  class_eval <<-EOF
    def #{meth}(*args, &blk)
      tag = mab_tag(:#{tag})
      tag.has_content = false
      tag.insert(*args, &blk)
    end
  EOF
end

#define_empty_tags(*tags) ⇒ Object



226
227
228
229
230
# File 'lib/mab/mixin.rb', line 226

def define_empty_tags(*tags)
  tags.flatten.each do |tag|
    define_empty_tag(tag, tag)
  end
end

#define_tag(meth, tag) ⇒ Object



200
201
202
203
204
205
206
207
208
# File 'lib/mab/mixin.rb', line 200

def define_tag(meth, tag)
  class_eval <<-EOF
    def #{meth}(*args, &blk)
      tag = mab_tag(:#{tag})
      tag.has_content = true
      tag.insert(*args, &blk)
    end
  EOF
end

#define_tags(*tags) ⇒ Object



210
211
212
213
214
# File 'lib/mab/mixin.rb', line 210

def define_tags(*tags)
  tags.flatten.each do |tag|
    define_tag(tag, tag)
  end
end