ruby-rails-extensions 2.1.0.pre.rc.7 → 2.1.0.pre.rc.9

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: 3a0b09313bc2ef11d6fffe25059c8aad5af55e57b6b92911af1c32e45868f124
4
- data.tar.gz: 8574ef5aac7018f3401fed43e640dc86272ac03ffd9c4a5a80b29fbf18d4e086
3
+ metadata.gz: a2f8208756fad0f3e2d3467fe56d7f299ee20d04db7290e6079e2b5f60b9fb2f
4
+ data.tar.gz: 62d873c62e3d3cfcba37d70c63565d83bf84887d30285f23cf25ca62912cfdb9
5
5
  SHA512:
6
- metadata.gz: f74d924b7e2a3d21d60b41325e464e6da4adcb0435c553c09032847bc1bb7869e731c8f630889d6422ff2800f9d4611357663ecf7af94a4b5ba76657fcd34711
7
- data.tar.gz: 81e0170ab8c7627a1505721ac4fd8d06f40c67a813afc770d1f59319f517b031f1fa7e01946fa27cc39ad20c8f4c196fcac36f504890cc0dd8d7540da4177282
6
+ metadata.gz: fc3318c549ddeb4cdaa3f7d393dfa26a0d1ff6ad41c0f375fc282e97d5fadfa0d8d82b7518b5ec1624e7272c51a95f536e79d142d1042745ef5bc8e7edae5c04
7
+ data.tar.gz: 7d1fd81b3578daf91c6e8ca7a495d386773ba2904b6b9b01ecac955ffa10ffbce48338adf589ef3c0f78e9a4ffb0009e886333c7fd8dbe858eb0f33baa52ad24
data/CHANGELOG.md CHANGED
@@ -9,6 +9,7 @@ Unreleased Changes
9
9
  * `Hash#left_deep_merge` and `Hash#left_deep_merge!`
10
10
  * `Hash#invert_with_dups`
11
11
  * `FalseClass#to_d` and `TrueClass#to_d`
12
+ * `Range#>`, `Range#<`, `Range#<=`, `Range#>=`
12
13
 
13
14
  2.0.1 (2024-07-29)
14
15
  ------------------
@@ -12,7 +12,7 @@ Hash.class_eval do
12
12
  if block_given?
13
13
  yield(key, this_val, other_val)
14
14
  else
15
- other_val.presence || this_val
15
+ RubyRailsExtensions.presence(other_val) || this_val
16
16
  end
17
17
  end
18
18
  end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ Range.class_eval do
4
+ # Greater than check.
5
+ #
6
+ # @param other [Numeric]
7
+ #
8
+ # @return [Boolean]
9
+ #
10
+ def >(other)
11
+ self.end > other
12
+ end
13
+
14
+ # Greater than or equal to check.
15
+ #
16
+ # @param other [Numeric]
17
+ #
18
+ # @return [Boolean]
19
+ #
20
+ def >=(other)
21
+ self.end >= other
22
+ end
23
+
24
+ # Less than to check.
25
+ #
26
+ # @param other [Numeric]
27
+ #
28
+ # @return [Boolean]
29
+ #
30
+ def <(other)
31
+ self.begin < other
32
+ end
33
+
34
+ # Less than or equal to check.
35
+ #
36
+ # @param other [Numeric]
37
+ #
38
+ # @return [Boolean]
39
+ #
40
+ def <=(other)
41
+ self.begin <= other
42
+ end
43
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RubyRailsExtensions
4
- VERSION = '2.1.0-rc.7'
4
+ VERSION = '2.1.0-rc.9'
5
5
  end
@@ -43,6 +43,7 @@ module RubyRailsExtensions
43
43
  presence_bang
44
44
  quarter_dates
45
45
  range_add
46
+ range_comparisons
46
47
  range_multiply
47
48
  remove_reserved_keywords
48
49
  safe_parse
@@ -110,13 +111,15 @@ module RubyRailsExtensions
110
111
  end
111
112
  end
112
113
 
114
+ module_function
115
+
113
116
  # @return [Configuration]
114
- def self.configuration
117
+ def configuration
115
118
  @configuration ||= Configuration.new
116
119
  end
117
120
 
118
121
  # @yield [Configuration]
119
- def self.configure
122
+ def configure
120
123
  yield(configuration)
121
124
 
122
125
  Configuration::BOOLEAN_GEMS.each do |extension|
@@ -131,5 +134,30 @@ module RubyRailsExtensions
131
134
  configuration.flags
132
135
  end
133
136
 
134
- module_function :configuration_flags
137
+ # @see Object#presence from active_support/core_ext/object/blank.rb
138
+ def presence(*items)
139
+ items.each do |item|
140
+ return item if present?(item)
141
+ end
142
+
143
+ nil
144
+ end
145
+
146
+ # @see Object#blank? from active_support/core_ext/object/blank.rb
147
+ def blank?(item)
148
+ if item.respond_to?(:blank?)
149
+ return item.blank?
150
+ end
151
+
152
+ item.respond_to?(:empty?) ? !!item.empty? : !item
153
+ end
154
+
155
+ # @see Object#present? from active_support/core_ext/object/blank.rb
156
+ def present?(item)
157
+ if item.respond_to?(:present?)
158
+ return item.present?
159
+ end
160
+
161
+ !blank?(item)
162
+ end
135
163
  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.1.0.pre.rc.7
4
+ version: 2.1.0.pre.rc.9
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-10-01 00:00:00.000000000 Z
11
+ date: 2024-10-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: benchmark-ips
@@ -91,6 +91,7 @@ files:
91
91
  - lib/ruby-rails-extensions/extensions/presence_bang.rb
92
92
  - lib/ruby-rails-extensions/extensions/quarter_dates.rb
93
93
  - lib/ruby-rails-extensions/extensions/range_add.rb
94
+ - lib/ruby-rails-extensions/extensions/range_comparisons.rb
94
95
  - lib/ruby-rails-extensions/extensions/range_multiply.rb
95
96
  - lib/ruby-rails-extensions/extensions/remove_reserved_keywords.rb
96
97
  - lib/ruby-rails-extensions/extensions/safe_parse.rb