tagz 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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