tagz 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/a.rb +3 -2
  2. data/lib/tagz.rb +47 -1
  3. data/test/tagz.rb +3 -3
  4. metadata +2 -2
data/a.rb CHANGED
@@ -1,11 +1,12 @@
1
-
2
- require 'lib/tagz'
1
+ require './lib/tagz'
3
2
  include Tagz
4
3
 
5
4
  puts tagz {
6
5
  a_ 'a'
7
6
  b_ 'b'
8
7
  c_ 'c'
8
+ foo_{}
9
+ div_{}
9
10
  }
10
11
 
11
12
 
@@ -5,6 +5,49 @@ module Tagz
5
5
  class NotOpen < StandardError; end
6
6
  class StillOpen < StandardError; end
7
7
 
8
+ class << self
9
+ #--{{{
10
+ def default_non_container_tag_list
11
+ %w[
12
+ br hr input img area base basefont
13
+ ]
14
+ end
15
+
16
+ def non_container_tag_list *argv
17
+ #--{{{
18
+ if argv.first
19
+ @non_container_tag_list = [argv.first].flatten.uniq.map{|arg| arg.to_s}
20
+ @non_container_tags = @non_container_tag_list.inject(Hash.new){|h,k| h.update k => true}
21
+ @non_container_tag_list
22
+ else
23
+ if defined?(@non_container_tag_list) and @non_container_tag_list
24
+ @non_container_tag_list
25
+ else
26
+ non_container_tag_list default_non_container_tag_list
27
+ @non_container_tag_list
28
+ end
29
+ end
30
+ #--}}}
31
+ end
32
+ def non_container_tags
33
+ #--{{{
34
+ if defined?(@non_container_tags) and @non_container_tags
35
+ @non_container_tags
36
+ else
37
+ non_container_tag_list
38
+ @non_container_tags
39
+ end
40
+ #--}}}
41
+ end
42
+ def container? tag
43
+ not(non_container_tags[tag.to_s] or false)
44
+ end
45
+ def emtpy? tag
46
+ not container?(tag)
47
+ end
48
+ #--}}}
49
+ end
50
+
8
51
  module Fragment #--{{{
9
52
  attr_accessor 'tag'
10
53
  attr_accessor 'open'
@@ -62,6 +105,7 @@ module Tagz
62
105
  end #--}}}
63
106
  end #--}}}
64
107
 
108
+
65
109
  module Abilities #--{{{
66
110
  def __tag_stack__ #--{{{
67
111
  @__tag_stack__ ||= []
@@ -171,7 +215,7 @@ module Tagz
171
215
  end
172
216
  =end
173
217
 
174
- if content
218
+ if content or Tagz.container?(tag)
175
219
  top[pos] = ' >'
176
220
  top.add content unless content_was_added
177
221
  stop = Fragment( "</#{ tag }>", tag, :open => false )
@@ -312,6 +356,8 @@ module Tagz
312
356
  end
313
357
  end #--}}}
314
358
 
359
+
360
+ ### OLD CRAP
315
361
  =begin
316
362
  def concat s #--{{{
317
363
  tagz << s.to_s
@@ -26,7 +26,7 @@ class TagzTest < Test::Unit::TestCase
26
26
  assert_equal expected, actual
27
27
  end #--}}}
28
28
  def test_020 #--{{{
29
- expected = '<foo ><bar /></foo>'
29
+ expected = '<foo ><bar ></bar></foo>'
30
30
  actual = (
31
31
  foo_
32
32
  bar_{}
@@ -35,7 +35,7 @@ class TagzTest < Test::Unit::TestCase
35
35
  assert_equal expected, actual
36
36
  end #--}}}
37
37
  def test_030 #--{{{
38
- expected = '<foo ><bar /></foo>'
38
+ expected = '<foo ><bar ></bar></foo>'
39
39
  actual = (
40
40
  foo_{
41
41
  bar_{}
@@ -69,7 +69,7 @@ class TagzTest < Test::Unit::TestCase
69
69
  assert_equal expected, actual
70
70
  end #--}}}
71
71
  def test_070 #--{{{
72
- expected = '<foo /><bar />'
72
+ expected = '<foo ></foo><bar ></bar>'
73
73
  actual = (
74
74
  foo_{} + bar_{}
75
75
  )
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.2
3
3
  specification_version: 1
4
4
  name: tagz
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.0.1
7
- date: 2007-07-17 00:00:00 -06:00
6
+ version: 0.0.2
7
+ date: 2007-07-18 00:00:00 -06:00
8
8
  summary: tagz
9
9
  require_paths:
10
10
  - lib