slate_serializer 0.5.1 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4460b81e3473ef5d635e0054325252394fe83c9b8f2aa00be9c14c77984851a2
4
- data.tar.gz: 8ea88f0f3ac33383543cff3dcd352d9cca8fee30c6f131665e6f954c701ba7e4
3
+ metadata.gz: a3d7bf4b8b234e48ffa65c0c0450c016eba2b7fcd9746d3f28a4b9c84e7494a2
4
+ data.tar.gz: 4b8531a21dd1b2214ec96db7cf2a4f879d590a3b0e591d4b73ea005c4af1cee4
5
5
  SHA512:
6
- metadata.gz: d1e53bb136357e2e326df89a09d607fc6f26a86c60edcf8fdc08086310413c1579d6ce5dc3e9bd93a0893063f63b4e78c1c2e53f6f04f3eaff3aabeb321853a9
7
- data.tar.gz: 9dbe4baa66a9cbf0fa705fe5ce203207282b3ba3678aa5a3c1479f8bad7493f1ecc298606e8e5dec039323698afcdaa9f9bc77964f4dec51f95cceb6fcee10fb
6
+ metadata.gz: 7cb323755b006c9582cb0aa2e1689ab4d26df6ca7f4c72ca57071aeacd286f8c73e77de6a6fccdb6c641bf92e057e25733a060fffd0e396b55381890b25c5cd5
7
+ data.tar.gz: 5cbe1d53c9cbd8a5d3c12d706645a878f66ab43eb4616cf4f6ffa4c862945c53b6105e1e488727adc496eed166e45745aa411594e344282f6c42ec999c695373
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.6.2
1
+ 3.0.0
data/Gemfile.lock CHANGED
@@ -1,39 +1,41 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- slate_serializer (0.5.1)
5
- nokogiri (~> 1.10)
4
+ slate_serializer (1.0.1)
5
+ nokogiri (~> 1.11)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- diff-lcs (1.3)
11
- mini_portile2 (2.4.0)
12
- nokogiri (1.10.9)
13
- mini_portile2 (~> 2.4.0)
14
- rake (13.0.1)
15
- rspec (3.9.0)
16
- rspec-core (~> 3.9.0)
17
- rspec-expectations (~> 3.9.0)
18
- rspec-mocks (~> 3.9.0)
19
- rspec-core (3.9.1)
20
- rspec-support (~> 3.9.1)
21
- rspec-expectations (3.9.0)
10
+ diff-lcs (1.5.1)
11
+ mini_portile2 (2.8.5)
12
+ nokogiri (1.16.2)
13
+ mini_portile2 (~> 2.8.2)
14
+ racc (~> 1.4)
15
+ racc (1.7.3)
16
+ rake (13.1.0)
17
+ rspec (3.13.0)
18
+ rspec-core (~> 3.13.0)
19
+ rspec-expectations (~> 3.13.0)
20
+ rspec-mocks (~> 3.13.0)
21
+ rspec-core (3.13.0)
22
+ rspec-support (~> 3.13.0)
23
+ rspec-expectations (3.13.0)
22
24
  diff-lcs (>= 1.2.0, < 2.0)
23
- rspec-support (~> 3.9.0)
24
- rspec-mocks (3.9.1)
25
+ rspec-support (~> 3.13.0)
26
+ rspec-mocks (3.13.0)
25
27
  diff-lcs (>= 1.2.0, < 2.0)
26
- rspec-support (~> 3.9.0)
27
- rspec-support (3.9.2)
28
+ rspec-support (~> 3.13.0)
29
+ rspec-support (3.13.1)
28
30
 
29
31
  PLATFORMS
30
32
  ruby
31
33
 
32
34
  DEPENDENCIES
33
- bundler (~> 1.17)
35
+ bundler (~> 2.2)
34
36
  rake (~> 13.0)
35
37
  rspec (~> 3.0)
36
38
  slate_serializer!
37
39
 
38
40
  BUNDLED WITH
39
- 1.17.2
41
+ 2.2.3
@@ -71,6 +71,8 @@ module SlateSerializer
71
71
  def serializer(value)
72
72
  return '' unless value.key?(:document)
73
73
 
74
+ self.mark_elements = MARK_ELEMENTS.invert
75
+
74
76
  serialize_node(value[:document])
75
77
  end
76
78
 
@@ -121,7 +123,7 @@ module SlateSerializer
121
123
  nodes = []
122
124
  mark = convert_name_to_mark(element.name)
123
125
 
124
- if element.class == Nokogiri::XML::Element
126
+ if element.instance_of?(Nokogiri::XML::Element)
125
127
  element.children.each do |child|
126
128
  nodes << element_to_text(child, mark)
127
129
  end
@@ -189,9 +191,10 @@ module SlateSerializer
189
191
  end
190
192
 
191
193
  def serialize_node(node)
192
- if node[:object] == 'document'
194
+ case node[:object]
195
+ when 'document'
193
196
  node[:nodes].map { |n| serialize_node(n) }.join
194
- elsif node[:object] == 'block'
197
+ when 'block'
195
198
  children = node[:nodes].map { |n| serialize_node(n) }.join
196
199
 
197
200
  element = ELEMENTS.find { |_, v| v == node[:type] }[0]
@@ -204,7 +207,13 @@ module SlateSerializer
204
207
 
205
208
  "<#{element}#{!data.empty? ? " #{data.join(' ')}" : ''}>#{children}</#{element}>"
206
209
  else
207
- node[:text]
210
+ if node[:marks].nil? || node[:marks].empty?
211
+ node[:text]
212
+ else
213
+ elements = node[:marks].map { |m| mark_elements[m[:type]] }
214
+ marks = elements.map { |m| "<#{m}>" }.join
215
+ "#{marks}#{node[:text]}#{elements.map { |m| "</#{m}>" }.join}"
216
+ end
208
217
  end
209
218
  end
210
219
  end
@@ -1,3 +1,3 @@
1
1
  module SlateSerializer
2
- VERSION = '0.5.1'.freeze
2
+ VERSION = '1.0.1'.freeze
3
3
  end
@@ -21,8 +21,8 @@ Gem::Specification.new do |spec|
21
21
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
22
  spec.require_paths = ['lib']
23
23
 
24
- spec.add_dependency 'nokogiri', '~> 1.10'
25
- spec.add_development_dependency 'bundler', '~> 1.17'
24
+ spec.add_dependency 'nokogiri', '~> 1.11'
25
+ spec.add_development_dependency 'bundler', '~> 2.2'
26
26
  spec.add_development_dependency 'rake', '~> 13.0'
27
27
  spec.add_development_dependency 'rspec', '~> 3.0'
28
28
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slate_serializer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wesley Stam
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-03-05 00:00:00.000000000 Z
11
+ date: 2024-03-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.10'
19
+ version: '1.11'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.10'
26
+ version: '1.11'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.17'
33
+ version: '2.2'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.17'
40
+ version: '2.2'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -66,7 +66,7 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '3.0'
69
- description:
69
+ description:
70
70
  email:
71
71
  - wesley@stam.me
72
72
  executables: []
@@ -92,7 +92,7 @@ homepage: https://github.com/wesleystam/slate_serializer
92
92
  licenses:
93
93
  - MIT
94
94
  metadata: {}
95
- post_install_message:
95
+ post_install_message:
96
96
  rdoc_options: []
97
97
  require_paths:
98
98
  - lib
@@ -107,8 +107,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
107
107
  - !ruby/object:Gem::Version
108
108
  version: '0'
109
109
  requirements: []
110
- rubygems_version: 3.0.3
111
- signing_key:
110
+ rubygems_version: 3.2.3
111
+ signing_key:
112
112
  specification_version: 4
113
113
  summary: Serializer for Slate documents written in Ruby
114
114
  test_files: []