hash_multi_tool 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
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