ruby-rails-extensions 2.0.1 → 2.1.0.pre.rc.2
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 +4 -4
- data/CHANGELOG.md +7 -0
- data/lib/ruby-rails-extensions/extensions/boolean_scope.rb +2 -2
- data/lib/ruby-rails-extensions/extensions/left_deep_merge.rb +26 -0
- data/lib/ruby-rails-extensions/extensions/nmerge.rb +24 -0
- data/lib/ruby-rails-extensions/version.rb +1 -1
- data/lib/ruby-rails-extensions.rb +2 -2
- metadata +6 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1e19b1b32a2955a8cdb0ce2d2951d1bfb11a4a1a9a1c139be87538a1941292a7
|
4
|
+
data.tar.gz: ea451705fd29181122be0f37babd0ed2f63396932a48fdb68ccfc7dc5d4e31dc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '0684d8faf49cf4aa891992257cae59adea62ba8bd601eddb14dda375897d8bcd6f950082719200711b6fda6efc9a70566fde72e49489c8945ff6f1f0b0c9a0d3'
|
7
|
+
data.tar.gz: f9e3a85a1990970bf9684ae3fd6299475f067764beea4bda669ac67d8e81b4c1c012d35682b932acb16a169eeafc8c6c8a5131ae6a70e00628dbb41c5cd7de89
|
data/CHANGELOG.md
CHANGED
@@ -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,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
Hash.class_eval do
|
4
|
+
# Do a deep merge, but don't override the key-value pairs on the left.
|
5
|
+
#
|
6
|
+
# @param other_hash [Hash]
|
7
|
+
#
|
8
|
+
# @return [Hash]
|
9
|
+
#
|
10
|
+
def left_deep_merge!(other_hash, &block)
|
11
|
+
merge!(other_hash) do |key, this_val, other_val|
|
12
|
+
if this_val.is_a?(Hash) && other_hash.is_a?(Hash)
|
13
|
+
this_val.left_deep_merge(other_val, &block)
|
14
|
+
elsif block_given?
|
15
|
+
yield(key, this_val, other_val)
|
16
|
+
else
|
17
|
+
this_val.presence || other_val
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
# @see #left_deep_merge!
|
23
|
+
def left_deep_merge(other_hash, &block)
|
24
|
+
dup.left_deep_merge!(other_hash, &block)
|
25
|
+
end
|
26
|
+
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
|
@@ -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.
|
4
|
+
version: 2.1.0.pre.rc.2
|
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-
|
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
|
@@ -64,8 +64,10 @@ files:
|
|
64
64
|
- lib/ruby-rails-extensions/extensions/humanize_symbol.rb
|
65
65
|
- lib/ruby-rails-extensions/extensions/in_utc.rb
|
66
66
|
- lib/ruby-rails-extensions/extensions/input.rb
|
67
|
+
- lib/ruby-rails-extensions/extensions/left_deep_merge.rb
|
67
68
|
- lib/ruby-rails-extensions/extensions/month_and_year.rb
|
68
69
|
- lib/ruby-rails-extensions/extensions/month_year.rb
|
70
|
+
- lib/ruby-rails-extensions/extensions/nmerge.rb
|
69
71
|
- lib/ruby-rails-extensions/extensions/no_keys.rb
|
70
72
|
- lib/ruby-rails-extensions/extensions/no_values.rb
|
71
73
|
- lib/ruby-rails-extensions/extensions/only_some.rb
|
@@ -115,9 +117,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
115
117
|
version: 3.0.1
|
116
118
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
117
119
|
requirements:
|
118
|
-
- - "
|
120
|
+
- - ">"
|
119
121
|
- !ruby/object:Gem::Version
|
120
|
-
version:
|
122
|
+
version: 1.3.1
|
121
123
|
requirements: []
|
122
124
|
rubygems_version: 3.2.15
|
123
125
|
signing_key:
|