hash_multi_tool 0.1.3 → 0.1.4
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.
- data/Gemfile.lock +1 -1
- data/README.md +8 -0
- data/hash_multi_tool-0.1.3.gem +0 -0
- data/lib/hash_multi_tool.rb +11 -1
- data/lib/hash_multi_tool/version.rb +1 -1
- metadata +21 -13
- checksums.yaml +0 -7
    
        data/Gemfile.lock
    CHANGED
    
    
    
        data/README.md
    CHANGED
    
    | @@ -81,6 +81,14 @@ Or install it yourself as: | |
| 81 81 | 
             
                HashMultiTool.sort_desc hash
         | 
| 82 82 |  | 
| 83 83 | 
             
                => {:c=>1500, :b=>1000, :a=>500}
         | 
| 84 | 
            +
                
         | 
| 85 | 
            +
             8) Convert values of hash to percentage based on sum of values
         | 
| 86 | 
            +
             
         | 
| 87 | 
            +
                hash = {a: 20, b: 20}
         | 
| 88 | 
            +
                
         | 
| 89 | 
            +
                HashMultiTool.values_to_percentage hash
         | 
| 90 | 
            +
                
         | 
| 91 | 
            +
                => {:a=>50.0, :b=>50.0}
         | 
| 84 92 |  | 
| 85 93 |  | 
| 86 94 | 
             
            ## Development
         | 
| Binary file | 
    
        data/lib/hash_multi_tool.rb
    CHANGED
    
    | @@ -45,6 +45,16 @@ module HashMultiTool | |
| 45 45 |  | 
| 46 46 | 
             
            		def sort_asc hash
         | 
| 47 47 | 
             
            			Hash[hash.sort_by {|k, v| v}]
         | 
| 48 | 
            -
             | 
| 48 | 
            +
                end
         | 
| 49 | 
            +
             | 
| 50 | 
            +
                def values_to_percentage hash
         | 
| 51 | 
            +
                  if (hash.values.map{|val| val.is_a? Fixnum || Float }).all? {|boolean| boolean == true}
         | 
| 52 | 
            +
                    sum = hash.values.inject 0, :+
         | 
| 53 | 
            +
                    hash.each { |k,v| hash[k] = (v*100/sum.to_f).round(2) }
         | 
| 54 | 
            +
                  else
         | 
| 55 | 
            +
                    'Percentage can only be calculated for numbers or decimals'
         | 
| 56 | 
            +
                  end
         | 
| 57 | 
            +
                end
         | 
| 58 | 
            +
             | 
| 49 59 | 
             
            	end
         | 
| 50 60 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,8 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: hash_multi_tool
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.1. | 
| 4 | 
            +
              version: 0.1.4
         | 
| 5 | 
            +
              prerelease: 
         | 
| 5 6 | 
             
            platform: ruby
         | 
| 6 7 | 
             
            authors:
         | 
| 7 8 | 
             
            - Prabhat Thapa
         | 
| @@ -13,43 +14,49 @@ dependencies: | |
| 13 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 15 | 
             
              name: bundler
         | 
| 15 16 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 17 | 
            +
                none: false
         | 
| 16 18 | 
             
                requirements:
         | 
| 17 | 
            -
                - -  | 
| 19 | 
            +
                - - ~>
         | 
| 18 20 | 
             
                  - !ruby/object:Gem::Version
         | 
| 19 21 | 
             
                    version: '1.9'
         | 
| 20 22 | 
             
              type: :development
         | 
| 21 23 | 
             
              prerelease: false
         | 
| 22 24 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 25 | 
            +
                none: false
         | 
| 23 26 | 
             
                requirements:
         | 
| 24 | 
            -
                - -  | 
| 27 | 
            +
                - - ~>
         | 
| 25 28 | 
             
                  - !ruby/object:Gem::Version
         | 
| 26 29 | 
             
                    version: '1.9'
         | 
| 27 30 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 28 31 | 
             
              name: rake
         | 
| 29 32 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 33 | 
            +
                none: false
         | 
| 30 34 | 
             
                requirements:
         | 
| 31 | 
            -
                - -  | 
| 35 | 
            +
                - - ~>
         | 
| 32 36 | 
             
                  - !ruby/object:Gem::Version
         | 
| 33 37 | 
             
                    version: '10.0'
         | 
| 34 38 | 
             
              type: :development
         | 
| 35 39 | 
             
              prerelease: false
         | 
| 36 40 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 41 | 
            +
                none: false
         | 
| 37 42 | 
             
                requirements:
         | 
| 38 | 
            -
                - -  | 
| 43 | 
            +
                - - ~>
         | 
| 39 44 | 
             
                  - !ruby/object:Gem::Version
         | 
| 40 45 | 
             
                    version: '10.0'
         | 
| 41 46 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 42 47 | 
             
              name: rspec
         | 
| 43 48 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 49 | 
            +
                none: false
         | 
| 44 50 | 
             
                requirements:
         | 
| 45 | 
            -
                - -  | 
| 51 | 
            +
                - - ! '>='
         | 
| 46 52 | 
             
                  - !ruby/object:Gem::Version
         | 
| 47 53 | 
             
                    version: '0'
         | 
| 48 54 | 
             
              type: :development
         | 
| 49 55 | 
             
              prerelease: false
         | 
| 50 56 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 57 | 
            +
                none: false
         | 
| 51 58 | 
             
                requirements:
         | 
| 52 | 
            -
                - -  | 
| 59 | 
            +
                - - ! '>='
         | 
| 53 60 | 
             
                  - !ruby/object:Gem::Version
         | 
| 54 61 | 
             
                    version: '0'
         | 
| 55 62 | 
             
            description: Sort a array of hashes with one or multiple values
         | 
| @@ -70,6 +77,7 @@ files: | |
| 70 77 | 
             
            - hash_multi_tool-0.1.0.gem
         | 
| 71 78 | 
             
            - hash_multi_tool-0.1.1.gem
         | 
| 72 79 | 
             
            - hash_multi_tool-0.1.2.gem
         | 
| 80 | 
            +
            - hash_multi_tool-0.1.3.gem
         | 
| 73 81 | 
             
            - hash_multi_tool.gemspec
         | 
| 74 82 | 
             
            - lib/hash_multi_tool.rb
         | 
| 75 83 | 
             
            - lib/hash_multi_tool/version.rb
         | 
| @@ -77,26 +85,26 @@ files: | |
| 77 85 | 
             
            homepage: https://github.com/prabhat4ever/hash_multi_tool/
         | 
| 78 86 | 
             
            licenses:
         | 
| 79 87 | 
             
            - MIT
         | 
| 80 | 
            -
            metadata:
         | 
| 81 | 
            -
              allowed_push_host: http://mygemserver.com
         | 
| 82 88 | 
             
            post_install_message: 
         | 
| 83 89 | 
             
            rdoc_options: []
         | 
| 84 90 | 
             
            require_paths:
         | 
| 85 91 | 
             
            - lib
         | 
| 86 92 | 
             
            required_ruby_version: !ruby/object:Gem::Requirement
         | 
| 93 | 
            +
              none: false
         | 
| 87 94 | 
             
              requirements:
         | 
| 88 | 
            -
              - -  | 
| 95 | 
            +
              - - ! '>='
         | 
| 89 96 | 
             
                - !ruby/object:Gem::Version
         | 
| 90 97 | 
             
                  version: '0'
         | 
| 91 98 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 99 | 
            +
              none: false
         | 
| 92 100 | 
             
              requirements:
         | 
| 93 | 
            -
              - -  | 
| 101 | 
            +
              - - ! '>='
         | 
| 94 102 | 
             
                - !ruby/object:Gem::Version
         | 
| 95 103 | 
             
                  version: '0'
         | 
| 96 104 | 
             
            requirements: []
         | 
| 97 105 | 
             
            rubyforge_project: 
         | 
| 98 | 
            -
            rubygems_version:  | 
| 106 | 
            +
            rubygems_version: 1.8.23.2
         | 
| 99 107 | 
             
            signing_key: 
         | 
| 100 | 
            -
            specification_version:  | 
| 108 | 
            +
            specification_version: 3
         | 
| 101 109 | 
             
            summary: Sort a array of hashes with one or multiple values
         | 
| 102 110 | 
             
            test_files: []
         | 
    
        checksums.yaml
    DELETED
    
    | @@ -1,7 +0,0 @@ | |
| 1 | 
            -
            ---
         | 
| 2 | 
            -
            SHA1:
         | 
| 3 | 
            -
              metadata.gz: 203eaabf0157c628c4e1c7a8a906a32c7ced1e0f
         | 
| 4 | 
            -
              data.tar.gz: f83760be42ec8f7e3154b15a0f78855d15846261
         | 
| 5 | 
            -
            SHA512:
         | 
| 6 | 
            -
              metadata.gz: 5d0c32d1e8d8c5750a2a704885a02bdc052d41626982b8b6fdd814d702726eff9de7bdb27165a0a662b813d2d97213d8bf647b87fa11f417fdf4289434894499
         | 
| 7 | 
            -
              data.tar.gz: 099d432fd2b5ddb24f9b91b36a32b1784e91d1de8d4646b225d187bf8ddc759f29de4f445868e94c9557a545eb071c94e680bbe33840552c975ef3df20eda491
         |