slate_serializer 1.0.0 → 1.0.1
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 +4 -4
- data/Gemfile.lock +18 -18
- data/lib/slate_serializer/html.rb +13 -4
- data/lib/slate_serializer/version.rb +1 -1
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: a3d7bf4b8b234e48ffa65c0c0450c016eba2b7fcd9746d3f28a4b9c84e7494a2
         | 
| 4 | 
            +
              data.tar.gz: 4b8531a21dd1b2214ec96db7cf2a4f879d590a3b0e591d4b73ea005c4af1cee4
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 7cb323755b006c9582cb0aa2e1689ab4d26df6ca7f4c72ca57071aeacd286f8c73e77de6a6fccdb6c641bf92e057e25733a060fffd0e396b55381890b25c5cd5
         | 
| 7 | 
            +
              data.tar.gz: 5cbe1d53c9cbd8a5d3c12d706645a878f66ab43eb4616cf4f6ffa4c862945c53b6105e1e488727adc496eed166e45745aa411594e344282f6c42ec999c695373
         | 
    
        data/Gemfile.lock
    CHANGED
    
    | @@ -1,32 +1,32 @@ | |
| 1 1 | 
             
            PATH
         | 
| 2 2 | 
             
              remote: .
         | 
| 3 3 | 
             
              specs:
         | 
| 4 | 
            -
                slate_serializer (0. | 
| 4 | 
            +
                slate_serializer (1.0.1)
         | 
| 5 5 | 
             
                  nokogiri (~> 1.11)
         | 
| 6 6 |  | 
| 7 7 | 
             
            GEM
         | 
| 8 8 | 
             
              remote: https://rubygems.org/
         | 
| 9 9 | 
             
              specs:
         | 
| 10 | 
            -
                diff-lcs (1. | 
| 11 | 
            -
                mini_portile2 (2.5 | 
| 12 | 
            -
                nokogiri (1. | 
| 13 | 
            -
                  mini_portile2 (~> 2. | 
| 10 | 
            +
                diff-lcs (1.5.1)
         | 
| 11 | 
            +
                mini_portile2 (2.8.5)
         | 
| 12 | 
            +
                nokogiri (1.16.2)
         | 
| 13 | 
            +
                  mini_portile2 (~> 2.8.2)
         | 
| 14 14 | 
             
                  racc (~> 1.4)
         | 
| 15 | 
            -
                racc (1. | 
| 16 | 
            -
                rake (13.0 | 
| 17 | 
            -
                rspec (3. | 
| 18 | 
            -
                  rspec-core (~> 3. | 
| 19 | 
            -
                  rspec-expectations (~> 3. | 
| 20 | 
            -
                  rspec-mocks (~> 3. | 
| 21 | 
            -
                rspec-core (3. | 
| 22 | 
            -
                  rspec-support (~> 3. | 
| 23 | 
            -
                rspec-expectations (3. | 
| 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)
         | 
| 24 24 | 
             
                  diff-lcs (>= 1.2.0, < 2.0)
         | 
| 25 | 
            -
                  rspec-support (~> 3. | 
| 26 | 
            -
                rspec-mocks (3. | 
| 25 | 
            +
                  rspec-support (~> 3.13.0)
         | 
| 26 | 
            +
                rspec-mocks (3.13.0)
         | 
| 27 27 | 
             
                  diff-lcs (>= 1.2.0, < 2.0)
         | 
| 28 | 
            -
                  rspec-support (~> 3. | 
| 29 | 
            -
                rspec-support (3. | 
| 28 | 
            +
                  rspec-support (~> 3.13.0)
         | 
| 29 | 
            +
                rspec-support (3.13.1)
         | 
| 30 30 |  | 
| 31 31 | 
             
            PLATFORMS
         | 
| 32 32 | 
             
              ruby
         | 
| @@ -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. | 
| 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 | 
            -
                     | 
| 194 | 
            +
                    case node[:object]
         | 
| 195 | 
            +
                    when 'document'
         | 
| 193 196 | 
             
                      node[:nodes].map { |n| serialize_node(n) }.join
         | 
| 194 | 
            -
                     | 
| 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[: | 
| 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
         | 
    
        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: 1.0. | 
| 4 | 
            +
              version: 1.0.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Wesley Stam
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: exe
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2024-03-06 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: nokogiri
         |