nodifier 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/node.rb +13 -4
- data/lib/stopper.rb +13 -0
- metadata +4 -3
data/lib/node.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require File.dirname(__FILE__) + '/indentation'
|
2
|
+
require File.dirname(__FILE__) + '/stopper'
|
2
3
|
require File.dirname(__FILE__) + '/xml_node_formatter'
|
3
4
|
|
4
5
|
class Node
|
@@ -19,11 +20,19 @@ class Node
|
|
19
20
|
return to_s(indent_level) { |node| node.label }
|
20
21
|
end
|
21
22
|
|
22
|
-
|
23
|
+
stopper = Stopper.new
|
24
|
+
case formatter_block.arity
|
25
|
+
when 1:
|
26
|
+
s = indent(formatter_block.call(self), indent_level)
|
27
|
+
when 2:
|
28
|
+
s = indent(formatter_block.call([self, stopper]), indent_level)
|
29
|
+
end
|
23
30
|
|
24
|
-
|
25
|
-
|
26
|
-
|
31
|
+
unless stopper.stopped?
|
32
|
+
@children.each do |child|
|
33
|
+
s << "\n"
|
34
|
+
s << child.to_s(indent_level + 1, &formatter_block)
|
35
|
+
end
|
27
36
|
end
|
28
37
|
|
29
38
|
s
|
data/lib/stopper.rb
ADDED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nodifier
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 4
|
10
|
+
version: 0.1.4
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Daniel Tao
|
@@ -32,6 +32,7 @@ files:
|
|
32
32
|
- lib/node.rb
|
33
33
|
- lib/node_parser.rb
|
34
34
|
- lib/nodifier.rb
|
35
|
+
- lib/stopper.rb
|
35
36
|
- lib/xml_node_formatter.rb
|
36
37
|
has_rdoc: true
|
37
38
|
homepage: http://github.com/dtao/nodifier
|