extended_hash_methods 0.0.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.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/extended_hash_methods.rb +11 -0
  3. metadata +44 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: e6a85eb82adedf0dd549ddf3c428adb7c3570eb95cc5cb3644f4a99a03e516ff
4
+ data.tar.gz: 01b170662cbc6e859f6b330e1c88511d0f9fe2f50be9e283deda02e4f9de2594
5
+ SHA512:
6
+ metadata.gz: 474f79aefb6ac88231de0f99b24b5b4c62d8dd9d6491c9a298d084e1c83043b7e2e91d251254b05ff32b296cc5864296f11f01dfcddd9496abb8387e34de343e
7
+ data.tar.gz: c139356eb92116f3aee19f6837ded54098c82b65f3054dc73e68ea2d22a6f71be661bc2f01cf6b5863e6e7147eac9bf7b3dbb4f5a5d0016f64817ddc903259b5
@@ -0,0 +1,11 @@
1
+ class Hash
2
+ def keys_by_value(value)
3
+ self.select { |_, v| v == value }.keys
4
+ end
5
+
6
+ def invert_and_group
7
+ self.values.uniq.map do |value|
8
+ [value, keys_by_value(value)]
9
+ end.to_h
10
+ end
11
+ end
metadata ADDED
@@ -0,0 +1,44 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: extended_hash_methods
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Zamir Manihar
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2024-02-14 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: 'Provides additional methods for Ruby''s Hash class like #keys_by_value
14
+ and #invert_and_group'
15
+ email: zamirmanihar@gmail.com
16
+ executables: []
17
+ extensions: []
18
+ extra_rdoc_files: []
19
+ files:
20
+ - lib/extended_hash_methods.rb
21
+ homepage: https://rubygems.org/gems/extended_hash_methods
22
+ licenses:
23
+ - MIT
24
+ metadata: {}
25
+ post_install_message:
26
+ rdoc_options: []
27
+ require_paths:
28
+ - lib
29
+ required_ruby_version: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ required_rubygems_version: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - ">="
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
39
+ requirements: []
40
+ rubygems_version: 3.4.10
41
+ signing_key:
42
+ specification_version: 4
43
+ summary: Provides additional methods for Ruby's Hash class
44
+ test_files: []