pretty_xml 0.0.1.9 → 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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5cc40cd6df78950f35885f3358fc723e92663f46
4
- data.tar.gz: f1e0a8784dd000c4281154432c534ff43a6ba1d7
3
+ metadata.gz: c066343302f2e9f984e692951c5a78c58456908a
4
+ data.tar.gz: 3e73c6e93ba7d6a020b6c4b4bd153c2a58a8ca73
5
5
  SHA512:
6
- metadata.gz: 13249497785e0b31fa7374e1c20211b9841c991907438f98241067b6928384f0f1a577dc2b2cde6ca56d1e5ba3bb54442329df012f9e684a120d64234a8cefbe
7
- data.tar.gz: b4e4b08c0f45d265670d18b0e353c03f94772c2daefa4e12a4663f4b7c863880022aee5a3501f3e2c940fa223d0ed05aa23b7511bbceb576f5d4b8ac5d486e00
6
+ metadata.gz: a5c9404f3a980015ac620518f3eb174b941bb5cf7007b5e5366769643c7e94d6985226819d9fc124371ca35b1392ec50434a48972050370e0877875fd8e7df21
7
+ data.tar.gz: 3d985de9a12a32d22993caf4f29f0a2fe7350199650731779de2774c02d1636a02b614a0955f797764fc892982ffa0a30d8478f7dbb0d4d230677bf80c75cfc9
@@ -31,6 +31,7 @@
31
31
  - svg
32
32
  - table
33
33
  - tbody
34
+ - td
34
35
  - tfoot
35
36
  - thead
36
37
  - tr
@@ -54,7 +55,6 @@
54
55
  - h5
55
56
  - h6
56
57
  - hr
57
- - img
58
58
  - input
59
59
  - keygen
60
60
  - label
@@ -73,7 +73,6 @@
73
73
  - source
74
74
  - style
75
75
  - summary
76
- - td
77
76
  - template
78
77
  - textarea
79
78
  - th
@@ -94,6 +93,7 @@
94
93
  - dfn
95
94
  - em
96
95
  - i
96
+ - img
97
97
  - ins
98
98
  - kbd
99
99
  - mark
@@ -113,5 +113,3 @@
113
113
  - u
114
114
  - var
115
115
  - wbr
116
-
117
-
@@ -47,6 +47,7 @@ class SaxPrinter < Nokogiri::XML::SAX::Document
47
47
  def set_control_vars(options)
48
48
  @whitespace = options.include?(:preserve_whitespace) ? options[:preserve_whitespace] : true
49
49
  @close_tags = options[:close_tags] ? Set.new(options[:close_tags]) : []
50
+ @preserve_linebreaks = options[:preserve_linebreaks] ? Set.new(options[:preserve_linebreaks]) : []
50
51
  @ccs = options[:control_chars] || :named
51
52
  @use_ns = options[:use_namespaces]
52
53
  @tab = options[:tab] || ' '
@@ -146,19 +147,23 @@ class SaxPrinter < Nokogiri::XML::SAX::Document
146
147
  end
147
148
 
148
149
  def ws_only_in_block?(string)
149
- string[/^\s*$/] and in_block?
150
+ string[/\A\s*\Z/] and in_block?
150
151
  end
151
152
 
152
153
  def whitespace?
153
154
  @whitespace and below_block?
154
155
  end
155
156
 
157
+ def keep_linebreaks?
158
+ @preserve_linebreaks.include?(@open_tag)
159
+ end
160
+
156
161
  def below_block?
157
162
  in_inline? or in_compact?
158
163
  end
159
164
 
160
165
  def handle_whitespace(string)
161
- string.gsub!(/[\r\n]/, '')
166
+ string.gsub!(/[\r\n]/, '') unless keep_linebreaks?
162
167
  string.gsub!(/^\s+|\s+$/, '') unless whitespace?
163
168
  end
164
169
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pretty_xml
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.9
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dan Corrigan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-16 00:00:00.000000000 Z
11
+ date: 2015-06-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake