yalphabetize 0.4.1 → 0.5.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.
- checksums.yaml +4 -4
- data/lib/yalphabetize/alphabetizer.rb +7 -28
- data/lib/yalphabetize/order_checkers/capitalized_first_then_alphabetical.rb +2 -1
- data/lib/yalphabetize/order_checkers/capitalized_last_then_alphabetical.rb +2 -1
- data/lib/yalphabetize/order_checkers.rb +0 -2
- data/lib/yalphabetize/version.rb +1 -1
- metadata +8 -22
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 9fdf038d72b2c031731160247a71b2b29375360fd23b9099f3ce6cb97f022cbc
         | 
| 4 | 
            +
              data.tar.gz: 54906536110194ebccaf0d04137b68d65939a43951d7785aa3eb33938ef6e5d6
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 6d9cbba9a9b4775f275e46f85750517a23ecb552b69a0f53993377bdf1e2a4a6a52ea44b89d3ca9fae276330e909be376cea3e10977fb1c26029352bb2b32ef4
         | 
| 7 | 
            +
              data.tar.gz: eea1b0ce802afd10154823735d675a1e7427a28bec2611017fec957fbaed28c3eff3a66a62ab6606ee31a398f9d9fbfc23baa09d3d0f217a3578911fb1204abd
         | 
| @@ -8,24 +8,17 @@ module Yalphabetize | |
| 8 8 | 
             
                end
         | 
| 9 9 |  | 
| 10 10 | 
             
                def call
         | 
| 11 | 
            -
                   | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 11 | 
            +
                  stream_node.select(&:mapping?).each do |node|
         | 
| 12 | 
            +
                    pair_up_children(node)
         | 
| 13 | 
            +
                    alphabetize_children(node)
         | 
| 14 | 
            +
                    unpair_children(node)
         | 
| 15 | 
            +
                  end
         | 
| 14 16 | 
             
                end
         | 
| 15 17 |  | 
| 16 18 | 
             
                private
         | 
| 17 19 |  | 
| 18 20 | 
             
                attr_reader :stream_node, :order_checker_class
         | 
| 19 21 |  | 
| 20 | 
            -
                def alphabetize(node)
         | 
| 21 | 
            -
                  if node.mapping?
         | 
| 22 | 
            -
                    alphabetize_children(node)
         | 
| 23 | 
            -
                    unpair_children(node)
         | 
| 24 | 
            -
                  end
         | 
| 25 | 
            -
             | 
| 26 | 
            -
                  node.children&.each { |child_node| alphabetize(child_node) }
         | 
| 27 | 
            -
                end
         | 
| 28 | 
            -
             | 
| 29 22 | 
             
                def alphabetize_children(node)
         | 
| 30 23 | 
             
                  node.children.sort! do |a, b|
         | 
| 31 24 | 
             
                    order_checker_class.compare(a.first.value, b.first.value)
         | 
| @@ -33,20 +26,7 @@ module Yalphabetize | |
| 33 26 | 
             
                end
         | 
| 34 27 |  | 
| 35 28 | 
             
                def unpair_children(node)
         | 
| 36 | 
            -
                   | 
| 37 | 
            -
             | 
| 38 | 
            -
                  children_clone.each do |slice|
         | 
| 39 | 
            -
                    node.children.push(*slice)
         | 
| 40 | 
            -
                    node.children.shift
         | 
| 41 | 
            -
                  end
         | 
| 42 | 
            -
                end
         | 
| 43 | 
            -
             | 
| 44 | 
            -
                def transform(node)
         | 
| 45 | 
            -
                  node.children&.each(&method(:transform))
         | 
| 46 | 
            -
             | 
| 47 | 
            -
                  return unless node.mapping?
         | 
| 48 | 
            -
             | 
| 49 | 
            -
                  pair_up_children(node)
         | 
| 29 | 
            +
                  node.children.flatten!
         | 
| 50 30 | 
             
                end
         | 
| 51 31 |  | 
| 52 32 | 
             
                def pair_up_children(node)
         | 
| @@ -54,8 +34,7 @@ module Yalphabetize | |
| 54 34 |  | 
| 55 35 | 
             
                  children_clone.each_slice(2) do |slice|
         | 
| 56 36 | 
             
                    node.children.push(slice)
         | 
| 57 | 
            -
                    node.children.shift
         | 
| 58 | 
            -
                    node.children.shift
         | 
| 37 | 
            +
                    2.times { node.children.shift }
         | 
| 59 38 | 
             
                  end
         | 
| 60 39 | 
             
                end
         | 
| 61 40 | 
             
              end
         | 
| @@ -1,10 +1,11 @@ | |
| 1 1 | 
             
            # frozen_string_literal: true
         | 
| 2 2 |  | 
| 3 | 
            +
            # abAB
         | 
| 3 4 | 
             
            module Yalphabetize
         | 
| 4 5 | 
             
              module OrderCheckers
         | 
| 5 6 | 
             
                class CapitalizedLastThenAlphabetical < Base
         | 
| 6 7 | 
             
                  def self.compare(string, other_string)
         | 
| 7 | 
            -
                     | 
| 8 | 
            +
                    string.swapcase <=> other_string.swapcase
         | 
| 8 9 | 
             
                  end
         | 
| 9 10 | 
             
                end
         | 
| 10 11 | 
             
              end
         | 
    
        data/lib/yalphabetize/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,29 +1,15 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: yalphabetize
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.5.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Sam Jenkins
         | 
| 8 | 
            -
            autorequire:
         | 
| 8 | 
            +
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2022-01- | 
| 11 | 
            +
            date: 2022-01-06 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 14 | 
            -
              name: psych
         | 
| 15 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 16 | 
            -
                requirements:
         | 
| 17 | 
            -
                - - "~>"
         | 
| 18 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            -
                    version: '3'
         | 
| 20 | 
            -
              type: :runtime
         | 
| 21 | 
            -
              prerelease: false
         | 
| 22 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 | 
            -
                requirements:
         | 
| 24 | 
            -
                - - "~>"
         | 
| 25 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 26 | 
            -
                    version: '3'
         | 
| 27 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 28 14 | 
             
              name: factory_bot
         | 
| 29 15 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -94,8 +80,8 @@ dependencies: | |
| 94 80 | 
             
                - - ">="
         | 
| 95 81 | 
             
                  - !ruby/object:Gem::Version
         | 
| 96 82 | 
             
                    version: '0'
         | 
| 97 | 
            -
            description:
         | 
| 98 | 
            -
            email:
         | 
| 83 | 
            +
            description: 
         | 
| 84 | 
            +
            email: 
         | 
| 99 85 | 
             
            executables:
         | 
| 100 86 | 
             
            - yalphabetize
         | 
| 101 87 | 
             
            extensions: []
         | 
| @@ -124,11 +110,11 @@ files: | |
| 124 110 | 
             
            - lib/yalphabetize/writer.rb
         | 
| 125 111 | 
             
            - lib/yalphabetize/yalphabetizer.rb
         | 
| 126 112 | 
             
            - lib/yalphabetize/yaml_finder.rb
         | 
| 127 | 
            -
            homepage:
         | 
| 113 | 
            +
            homepage: 
         | 
| 128 114 | 
             
            licenses: []
         | 
| 129 115 | 
             
            metadata:
         | 
| 130 116 | 
             
              rubygems_mfa_required: 'true'
         | 
| 131 | 
            -
            post_install_message:
         | 
| 117 | 
            +
            post_install_message: 
         | 
| 132 118 | 
             
            rdoc_options: []
         | 
| 133 119 | 
             
            require_paths:
         | 
| 134 120 | 
             
            - lib
         | 
| @@ -144,7 +130,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 144 130 | 
             
                  version: '0'
         | 
| 145 131 | 
             
            requirements: []
         | 
| 146 132 | 
             
            rubygems_version: 3.0.3.1
         | 
| 147 | 
            -
            signing_key:
         | 
| 133 | 
            +
            signing_key: 
         | 
| 148 134 | 
             
            specification_version: 4
         | 
| 149 135 | 
             
            summary: Alphabetize your YAML files
         | 
| 150 136 | 
             
            test_files: []
         |