ruby-rails-extensions 2.1.0.pre.rc.2 → 2.1.0.pre.rc.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1e19b1b32a2955a8cdb0ce2d2951d1bfb11a4a1a9a1c139be87538a1941292a7
4
- data.tar.gz: ea451705fd29181122be0f37babd0ed2f63396932a48fdb68ccfc7dc5d4e31dc
3
+ metadata.gz: eae2b4746fcd396627b59e5e5b509b1e11c0d641147eebc6e7ac1f00bac2c5be
4
+ data.tar.gz: 4fcdb5067da68634d1cf406d3f912c3d1147abc8f00671ba28dd400bd96f0825
5
5
  SHA512:
6
- metadata.gz: '0684d8faf49cf4aa891992257cae59adea62ba8bd601eddb14dda375897d8bcd6f950082719200711b6fda6efc9a70566fde72e49489c8945ff6f1f0b0c9a0d3'
7
- data.tar.gz: f9e3a85a1990970bf9684ae3fd6299475f067764beea4bda669ac67d8e81b4c1c012d35682b932acb16a169eeafc8c6c8a5131ae6a70e00628dbb41c5cd7de89
6
+ metadata.gz: 6e4e2a38c927b0d953f08fac62fdd69c69a46a2ffecf72bd844b85de2400632826a9888c06f3015ee1467701ee622676c6ebca6be5d7a0b66fd9c6c10630431d
7
+ data.tar.gz: c7913610f2dbcb9201e554670528732ffc0e68bbd279fcc9503283217ffc2b19bfb592bdfe6c629cede1ee7bf109e298190da073509038f96798d8dcf05f1e93
data/CHANGELOG.md CHANGED
@@ -5,8 +5,9 @@ Unreleased Changes
5
5
  ------------------
6
6
 
7
7
  * Modules added:
8
- * `Hash.nmerge` and `Hash.nmerge!`
9
- * `Hash.left_deep_merge` and `Hash.left_deep_merge!`
8
+ * `Hash#nmerge` and `Hash#nmerge!`
9
+ * `Hash#left_deep_merge` and `Hash#left_deep_merge!`
10
+ * `Hash#invert_with_dups`
10
11
 
11
12
  2.0.1 (2024-07-29)
12
13
  ------------------
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ Hash.class_eval do
4
+ # Invert a hash keeping possible duplicate values.
5
+ # @see Hash#invert for more details or to use without keeping duplicates.
6
+ # @see https://stackoverflow.com/a/10989394/8806642 for source.
7
+ #
8
+ # @example
9
+ # h = {:a => 1, :b => 2, :c => 3, :d => 4, :z => 1}
10
+ # h.invert
11
+ # # => {1=>:z, 2=>:b, 3=>:c, 4=>:d}
12
+ # h.invert_with_dups
13
+ # # => {1=>[:a, :z], 2=>[:b], 3=>[:c], 4=>[:d]}
14
+ #
15
+ # @return [Hash]
16
+ #
17
+ def invert_with_dups
18
+ keys.group_by { |key| self[key] }
19
+ end
20
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RubyRailsExtensions
4
- VERSION = '2.1.0-rc.2'
4
+ VERSION = '2.1.0-rc.4'
5
5
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-rails-extensions
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0.pre.rc.2
4
+ version: 2.1.0.pre.rc.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brands Insurance
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-09-30 00:00:00.000000000 Z
11
+ date: 2024-10-01 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: benchmark-ips
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 2.14.0
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 2.14.0
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: rubocop-rubomatic-rails
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -64,6 +78,7 @@ files:
64
78
  - lib/ruby-rails-extensions/extensions/humanize_symbol.rb
65
79
  - lib/ruby-rails-extensions/extensions/in_utc.rb
66
80
  - lib/ruby-rails-extensions/extensions/input.rb
81
+ - lib/ruby-rails-extensions/extensions/invert_with_dups.rb
67
82
  - lib/ruby-rails-extensions/extensions/left_deep_merge.rb
68
83
  - lib/ruby-rails-extensions/extensions/month_and_year.rb
69
84
  - lib/ruby-rails-extensions/extensions/month_year.rb