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 CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- hash_multi_tool (0.1.2)
4
+ hash_multi_tool (0.1.3)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
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
@@ -45,6 +45,16 @@ module HashMultiTool
45
45
 
46
46
  def sort_asc hash
47
47
  Hash[hash.sort_by {|k, v| v}]
48
- end
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
@@ -1,3 +1,3 @@
1
1
  module HashMultiTool
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  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.3
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: 2.4.5
106
+ rubygems_version: 1.8.23.2
99
107
  signing_key:
100
- specification_version: 4
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