ruby-rails-extensions 2.0.1 → 2.1.0.pre.rc.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a6add5f21ad9085c223bdb38ec6ae1d11c9ff67004762933eb5f9f8721c1cfac
4
- data.tar.gz: acb3e894e9f31d5b9f40f210f3da4176dcf399d5fda00ec3e2d44d5ab3b7e414
3
+ metadata.gz: 9db5274566aa11b9d201cbb888567d1decc0cf37d66da0f97bc0d537ea7eb9dd
4
+ data.tar.gz: 926d3931774ec62898dee45d6497cf4f3583a2644b932a498e3c4be80712874b
5
5
  SHA512:
6
- metadata.gz: 22e10cfb20f5b8ed90198c9f0b75dd6c596bc6e08c8cadb6f01e141ba1448b7c33439e8546c58d4e19d7ecfb70a37e46c1b2b8d8fed69d25e27bfa6262966562
7
- data.tar.gz: f92d99d927fdb1f0d22c028b54813a52dda7963471b23cbfe5388b2f0cfde5182a9b5d4b9701d6e0bf2f3012ef725f0b3fcedbaa154c378be71763e77c7f79fb
6
+ metadata.gz: a68d1a5f5fef8be14e6d4f22b4a7708a271d2a693eeabdb270d9c92c11676af3b545fd58e1e18aac160db13f99c1d15979cc3aeaa8e182406a86cd675474240f
7
+ data.tar.gz: 8ee76aa134472fb34140a596c17ebe79dbf198d0bcc75aa942ed5270adad2a0a57c27ce3c3e021976be9d2d1104c97b1b20285aadcc6116f63f04988a63fbbfe
data/CHANGELOG.md CHANGED
@@ -1,6 +1,9 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ * Module added:
5
+ * `Hash.nmerge` and `Hash.nmerge!`
6
+
4
7
  2.0.1 (2024-07-29)
5
8
  ------------------
6
9
 
@@ -38,8 +38,8 @@ module RubyRailsExtensions
38
38
  scope(:"#{column_name}", -> { where(column_name => true) })
39
39
  scope(:"#{negative}", -> { where(column_name => false) })
40
40
 
41
- define_method("#{negative}?") do
42
- !__send__("#{column_name}?")
41
+ define_method(:"#{negative}?") do
42
+ !__send__(:"#{column_name}?")
43
43
  end
44
44
  end
45
45
  end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ Hash.class_eval do
4
+ # Does a typical merge, but this will remove blank values on the right side.
5
+ #
6
+ # @param other_hash [Hash]
7
+ #
8
+ # @return [Hash]
9
+ #
10
+ def nmerge!(other_hash)
11
+ merge!(other_hash) do |key, this_val, other_val|
12
+ if block_given?
13
+ yield(key, this_val, other_val)
14
+ else
15
+ other_val.presence || this_val
16
+ end
17
+ end
18
+ end
19
+
20
+ # @see #merge!
21
+ def nmerge(other_hash, &block)
22
+ dup.nmerge!(other_hash, &block)
23
+ end
24
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RubyRailsExtensions
4
- VERSION = '2.0.1'
4
+ VERSION = '2.1.0-rc.1'
5
5
  end
@@ -87,7 +87,7 @@ module RubyRailsExtensions
87
87
  BOOLEAN_GEMS.each do |extension_name|
88
88
  include_extension = flag_name(extension_name)
89
89
 
90
- public_send("#{include_extension}=", true)
90
+ public_send(:"#{include_extension}=", true)
91
91
  end
92
92
  end
93
93
 
@@ -114,7 +114,7 @@ module RubyRailsExtensions
114
114
  yield(configuration)
115
115
 
116
116
  Configuration::BOOLEAN_GEMS.each do |extension|
117
- next unless configuration.public_send("#{extension}?")
117
+ next unless configuration.public_send(:"#{extension}?")
118
118
 
119
119
  require_relative("ruby-rails-extensions/extensions/#{extension}")
120
120
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-rails-extensions
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.1.0.pre.rc.1
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-07-29 00:00:00.000000000 Z
11
+ date: 2024-09-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop-rubomatic-rails
@@ -66,6 +66,7 @@ files:
66
66
  - lib/ruby-rails-extensions/extensions/input.rb
67
67
  - lib/ruby-rails-extensions/extensions/month_and_year.rb
68
68
  - lib/ruby-rails-extensions/extensions/month_year.rb
69
+ - lib/ruby-rails-extensions/extensions/nmerge.rb
69
70
  - lib/ruby-rails-extensions/extensions/no_keys.rb
70
71
  - lib/ruby-rails-extensions/extensions/no_values.rb
71
72
  - lib/ruby-rails-extensions/extensions/only_some.rb
@@ -115,9 +116,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
115
116
  version: 3.0.1
116
117
  required_rubygems_version: !ruby/object:Gem::Requirement
117
118
  requirements:
118
- - - ">="
119
+ - - ">"
119
120
  - !ruby/object:Gem::Version
120
- version: '0'
121
+ version: 1.3.1
121
122
  requirements: []
122
123
  rubygems_version: 3.2.15
123
124
  signing_key: