tagz 7.1.0 → 7.2.0
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.
- data/lib/tagz.rb +22 -11
- data/readme.erb +3 -0
- data/tagz.gemspec +1 -1
- metadata +6 -7
data/lib/tagz.rb
CHANGED
@@ -3,7 +3,7 @@ unless defined? Tagz
|
|
3
3
|
# core tagz functions
|
4
4
|
#
|
5
5
|
module Tagz
|
6
|
-
def Tagz.version() '7.
|
6
|
+
def Tagz.version() '7.2.0' end
|
7
7
|
|
8
8
|
private
|
9
9
|
# access tagz doc and enclose tagz operations
|
@@ -74,7 +74,7 @@ unless defined? Tagz
|
|
74
74
|
tagz << content.join
|
75
75
|
if block
|
76
76
|
size = tagz.size
|
77
|
-
value = block.call(tagz)
|
77
|
+
value = block.arity.abs >= 1 ? block.call(tagz) : block.call()
|
78
78
|
tagz << value.to_s unless(tagz.size > size)
|
79
79
|
end
|
80
80
|
tagz.push "</#{ name }>"
|
@@ -151,9 +151,21 @@ unless defined? Tagz
|
|
151
151
|
block ? @singleton_class.module_eval(&block) : @singleton_class
|
152
152
|
end
|
153
153
|
|
154
|
-
# hide away our own shit to minimize pollution
|
154
|
+
# hide away our own shit to minimize namespace pollution
|
155
155
|
#
|
156
156
|
module Namespace
|
157
|
+
namespace = self
|
158
|
+
|
159
|
+
Tagz.singleton_class{
|
160
|
+
define_method(:namespace){ |*args|
|
161
|
+
if args.empty?
|
162
|
+
namespace
|
163
|
+
else
|
164
|
+
namespace.const_get(args.first.to_sym)
|
165
|
+
end
|
166
|
+
}
|
167
|
+
}
|
168
|
+
|
157
169
|
class Document < ::String
|
158
170
|
def Document.for other
|
159
171
|
Document === other ? other : Document.new(other.to_s)
|
@@ -207,7 +219,7 @@ unless defined? Tagz
|
|
207
219
|
self
|
208
220
|
end
|
209
221
|
end
|
210
|
-
Tagz.singleton_class{ define_method(:document){ Document } }
|
222
|
+
Tagz.singleton_class{ define_method(:document){ Tagz.namespace(:Document) } }
|
211
223
|
|
212
224
|
class Element < ::String
|
213
225
|
def Element.attributes options
|
@@ -257,7 +269,7 @@ unless defined? Tagz
|
|
257
269
|
end
|
258
270
|
end
|
259
271
|
end
|
260
|
-
Tagz.singleton_class{ define_method(:element){ Element } }
|
272
|
+
Tagz.singleton_class{ define_method(:element){ Tagz.namespace(:Element) } }
|
261
273
|
|
262
274
|
module XChar
|
263
275
|
# http://intertwingly.net/stories/2004/04/14/i18n.html#CleaningWindows
|
@@ -316,21 +328,20 @@ unless defined? Tagz
|
|
316
328
|
))
|
317
329
|
end
|
318
330
|
end
|
319
|
-
Tagz.singleton_class{ define_method(:xchar){ XChar } }
|
331
|
+
Tagz.singleton_class{ define_method(:xchar){ Tagz.namespace(:XChar) } }
|
320
332
|
|
321
333
|
NoEscapeProc = lambda{|*values| values.join}
|
322
|
-
Tagz.singleton_class{ define_method(:no_escape_proc){ NoEscapeProc } }
|
334
|
+
Tagz.singleton_class{ define_method(:no_escape_proc){ Tagz.namespace(:NoEscapeProc) } }
|
323
335
|
|
324
336
|
EscapeProc = lambda{|*values| Tagz.xchar.escape(values.join)}
|
325
|
-
Tagz.singleton_class{ define_method(:escape_proc){ EscapeProc } }
|
337
|
+
Tagz.singleton_class{ define_method(:escape_proc){ Tagz.namespace(:EscapeProc) } }
|
326
338
|
|
327
339
|
module Globally; include Tagz; end
|
328
|
-
Tagz.singleton_class{ define_method(:globally){ Globally } }
|
340
|
+
Tagz.singleton_class{ define_method(:globally){ Tagz.namespace(:Globally) } }
|
329
341
|
|
330
342
|
module Privately; include Tagz; end
|
331
|
-
Tagz.singleton_class{ define_method(:privately){ Privately } }
|
343
|
+
Tagz.singleton_class{ define_method(:privately){ Tagz.namespace(:Privately) } }
|
332
344
|
end
|
333
|
-
|
334
345
|
remove_const(:Namespace)
|
335
346
|
|
336
347
|
# escape utils
|
data/readme.erb
CHANGED
data/tagz.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tagz
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 7.
|
4
|
+
version: 7.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ara T. Howard
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-09-29 00:00:00 -06:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|
@@ -22,12 +22,10 @@ extensions: []
|
|
22
22
|
extra_rdoc_files: []
|
23
23
|
|
24
24
|
files:
|
25
|
-
- lib
|
26
25
|
- lib/tagz.rb
|
27
26
|
- Rakefile
|
28
27
|
- README
|
29
28
|
- readme.erb
|
30
|
-
- samples
|
31
29
|
- samples/a.rb
|
32
30
|
- samples/b.rb
|
33
31
|
- samples/c.rb
|
@@ -36,10 +34,11 @@ files:
|
|
36
34
|
- samples/f.rb
|
37
35
|
- samples/g.rb
|
38
36
|
- tagz.gemspec
|
39
|
-
- test
|
40
37
|
- test/tagz.rb
|
41
38
|
has_rdoc: true
|
42
39
|
homepage: http://github.com/ahoward/tagz/tree/master
|
40
|
+
licenses: []
|
41
|
+
|
43
42
|
post_install_message:
|
44
43
|
rdoc_options: []
|
45
44
|
|
@@ -60,9 +59,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
60
59
|
requirements: []
|
61
60
|
|
62
61
|
rubyforge_project: codeforpeople
|
63
|
-
rubygems_version: 1.3.
|
62
|
+
rubygems_version: 1.3.5
|
64
63
|
signing_key:
|
65
|
-
specification_version:
|
64
|
+
specification_version: 3
|
66
65
|
summary: tagz
|
67
66
|
test_files:
|
68
67
|
- test/tagz.rb
|