gorilla_patch 4.0.0 → 5.0.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: aabed6279d43a45280eb596358b59ca87a5caac5471f277897d3b2e03de43b30
4
- data.tar.gz: 6a8e023016eeb23f67edf6d784422ce3682fd17caed9abaf929060b3f4d42b38
3
+ metadata.gz: ed8c046c84cd4209b31eb262257fb35d0dad797b11dfa504ae5a10082b37ebc8
4
+ data.tar.gz: 29c5098cae353f51377a7e3d519242db90fab7db9f0656f88409934f8d50e392
5
5
  SHA512:
6
- metadata.gz: 4c6e7cfefd3add89b69408e7570822c138c077a8c30e9ddec4769e8d42f59dae02291cc7e362b69935c3f7ff841280ecaad882921419ec8b9bcee1270f19ae58
7
- data.tar.gz: b2b1ca556a29e02a65fb2d4e019b3ed18bca8aed7e1befe04ada9b69822ef7acf474b8a60da3e5effec1e6dfc51c0690028e08b91394efd79261eba71ff1b36f
6
+ metadata.gz: 5f553749b169cfad439f90016a3bc8c9bbf68a9fbfd0bef473a1007b43f71a2a3033ad7ef339f174de506d0cb5d3cc79f0aec0d32c23b7382a4082a49b293818
7
+ data.tar.gz: 7d196168b34603c9fad90084ebfaedef0d550e731d045da6681babac50324a6c6dee38973f48713c1e7287bcb0b00eff2af35b3672d7eef01a6f67c8d0930654
data/CHANGELOG.md ADDED
@@ -0,0 +1,144 @@
1
+ # Changelog
2
+
3
+ ## Unreleased
4
+
5
+ ## 5.0.1 (2022-09-24)
6
+
7
+ * Require stdlib `set` for `Inflections`.
8
+
9
+ ## 5.0.0 (2022-09-24)
10
+
11
+ * Drop Ruby 2.4 support.
12
+ * Drop Ruby 2.5 support.
13
+ * Drop Ruby 2.6 support.
14
+ There was the latest patch-version, also `dry-inflector` stopped to support it.
15
+ * Drop Ruby 2.7 support.
16
+ There were no handy methods, like `Set#join`. Let's move on.
17
+ * Add Ruby 3.0 and 3.1 support.
18
+
19
+ * Populate default acronyms for `Inflections`.
20
+ * Fix order of default acronyms in `Inflections`.
21
+ * Change `Inflections.acronyms` from `Array` to `Set`.
22
+ * Improve implementation of `Cover`.
23
+ * Add `Module#deep_dup`.
24
+ * Fix `Blank` for classes, especially `Sequel::Model.`
25
+
26
+ * Update development dependencies.
27
+ * Resolve new RuboCop offenses.
28
+ * Update gemspec metadata.
29
+ * Improve CI.
30
+
31
+ ## 4.0.0 (2020-06-06)
32
+
33
+ * Replace `inflecto` with `dry-inflector` (`.from_dry_inflector`)
34
+ * Drop unsupported Ruby 2.3 version
35
+ * Remove `GorillaPatch::Transform` (its methods in stdlib of Ruby >= 2.4)
36
+ * Improve dependencies versions locks
37
+ * Improve code style via new RuboCop cops
38
+ * Write more documentation
39
+ * Create LICENSE file
40
+
41
+ ## 3.2.1 (2019-10-08)
42
+
43
+ * Fix `CHANGELOG` updating in `rake release` task
44
+ * Add `FAQ`, `SEO` and `UTM` to default acronyms for `Inflections`
45
+
46
+ ## 3.2.0 (2019-10-07)
47
+
48
+ * Add `Object#blank?`
49
+ * Add `Module#module_parent_name` and `Module#module_parent`
50
+
51
+ ## 3.0.1 (2018-07-10)
52
+
53
+ * Change `Hash#deep_merge` to do `#deep_dup` for nested objects duplicating
54
+
55
+ ## 3.0.0 (2018-05-15)
56
+
57
+ * Add acronyms for `GorillaPatch::Inflections` (#3)
58
+ * Rename `gorilla-patch` to `gorilla_patch`
59
+ * Drop Ruby 2.1 and 2.2 support
60
+ * Add CHANGELOG (yay!)
61
+
62
+ ## 2.9.1 (2018-03-26)
63
+
64
+ * Fix `GorillaPatch::Blank` for `Range` (or another `Enumerable`) inside Array or Hash
65
+
66
+ ## 2.9.0 (2018-01-20)
67
+
68
+ * Add `nils` option for `Hash#slice*` methods
69
+
70
+ ## 2.8.0 (2018-01-17)
71
+
72
+ * Add `[Array, Hash]#nilify_blank_strings{,!}` in `GorillaPatch::Blank`
73
+
74
+ ## 2.7.0 (2017-12-26)
75
+
76
+ * Add Ruby 2.5 support
77
+
78
+ ## 2.6.0 (2017-11-11)
79
+
80
+ * Add `Delegator#deep_dup` (for `Tempfile` and others) in `GorillaPatch::DeepDup`
81
+
82
+ ## 2.5.1 (2017-09-08)
83
+
84
+ * Return `super` from `Hash#transform_values!` if defined
85
+
86
+ ## 2.5.0 (2017-09-08)
87
+
88
+ * Add `GorillaPatch::Transform` with `Hash#transform_values{,!}`
89
+
90
+ ## 2.4.3 (2017-09-08)
91
+
92
+ * Fix bug (come from `ActiveSupport`) with `Hash#deep_merge!`
93
+
94
+ ## 2.4.2 (2017-09-08)
95
+
96
+ * Revert dynamic defining `GorillaPatch::Namespace` methods for `Module`
97
+
98
+ ## 2.4.1 (2017-09-08)
99
+
100
+ * Fix `GorillaPatch::Namespace` methods for Modules without names (`Module.new` or `Class.new`)
101
+
102
+ ## 2.4.0 (2017-08-10)
103
+
104
+ * Add `[String, Module]#deconstantize` method in `GorillaPatch::Namespace`
105
+
106
+ ## 2.3.1 (2017-08-10)
107
+
108
+ * Fix bug with `Class#demodulize` if class was patched with private method
109
+
110
+ ## 2.3.0 (2017-07-25)
111
+
112
+ * Add `GorillaPatch::DigEmpty` for `Hash#dig` without arguments
113
+
114
+ ## 2.2.1 (2017-07-23)
115
+
116
+ * Add `GorillaPatch::DeepMerge` module with `Hash#deep_merge{,!}` methods
117
+
118
+ ## 2.1.1 (2017-01-25)
119
+
120
+ * Add `NilClass#blank?` method in `GorillaPatch::Blank`
121
+
122
+ ## 2.1.0 (2017-01-19)
123
+
124
+ * Add `GorillaPatch::Truncate` with `String#truncate`
125
+
126
+ ## 2.0.0 (2017-01-13)
127
+
128
+ * Merge `GorillaPatch::LettersCase` and `GorillaPatch::Quantity` into `GorillaPatch::Inflections`
129
+ * Add `GorillaPatch::Inflections.from_inflecto` (`inflecto-refinements` gem)
130
+ * Rename `GorillaPatch::Include` to `GorillaPatch::Cover`
131
+ * Return `Hash` after `Hash#compact!`
132
+ * Add specs for all modules
133
+
134
+ ## 1.0.2 (2016-12-29)
135
+
136
+ * Fix `String#camelize` method for camelized strings
137
+
138
+ ## 1.0.1 (2016-11-10)
139
+
140
+ * Fix issue with `[Array, Hash]#reject_blank_strings{,!}`
141
+
142
+ ## 1.0.0 (2016-11-10)
143
+
144
+ * Rename `GorillaPatch` modules from "which class refined" to "what it does"
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2015 Alexander Popov
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,186 @@
1
+ # Gorilla Patch
2
+
3
+ [![Cirrus CI - Base Branch Build Status](https://img.shields.io/cirrus/github/AlexWayfer/gorilla_patch?style=flat-square)](https://cirrus-ci.com/github/AlexWayfer/gorilla_patch)
4
+ [![Codecov branch](https://img.shields.io/codecov/c/github/AlexWayfer/gorilla_patch/main.svg?style=flat-square)](https://codecov.io/gh/AlexWayfer/gorilla_patch)
5
+ [![Code Climate](https://img.shields.io/codeclimate/maintainability/AlexWayfer/gorilla_patch.svg?style=flat-square)](https://codeclimate.com/github/AlexWayfer/gorilla_patch)
6
+ [![Depfu](https://img.shields.io/depfu/AlexWayfer/gorilla_patch?style=flat-square)](https://depfu.com/repos/github/AlexWayfer/gorilla_patch)
7
+ [![Inline docs](https://inch-ci.org/github/AlexWayfer/gorilla_patch.svg?branch=main)](https://inch-ci.org/github/AlexWayfer/gorilla_patch)
8
+ [![license](https://img.shields.io/github/license/AlexWayfer/gorilla_patch.svg?style=flat-square)](https://github.com/AlexWayfer/gorilla_patch/blob/main/LICENSE.txt)
9
+ [![Gem](https://img.shields.io/gem/v/gorilla_patch.svg?style=flat-square)](https://rubygems.org/gems/gorilla_patch)
10
+
11
+ Ruby Gem for refine Ruby Core classes (like [Monkey patch](https://en.wikipedia.org/wiki/Monkey_patch)).
12
+
13
+ ## Installation
14
+
15
+ ```bash
16
+ $ gem install gorilla_patch
17
+ ```
18
+
19
+ or with `bundler`:
20
+
21
+ ```ruby
22
+ # Gemfile
23
+ gem 'gorilla_patch'
24
+ ```
25
+
26
+ ## Usage
27
+
28
+ ```ruby
29
+ require 'gorilla_patch' # or 'gorilla_patch/keys' for specific functionallity
30
+
31
+ hash = { a: 1, b: 2 }
32
+
33
+ hash.keys? :a, :b # undefined method!
34
+
35
+ module Foo
36
+ using GorillaPatch::Keys
37
+
38
+ hash.keys? :a, :b # true
39
+ end
40
+
41
+ hash.keys? :a, :b # undefined method!
42
+ ```
43
+
44
+ ### What is `using`?
45
+
46
+ [It's standard feature](http://ruby-doc.org/core/doc/syntax/refinements_rdoc.html).
47
+
48
+ ## Methods
49
+
50
+ * **Blank**
51
+
52
+ * **`String`**, **`NilClass`**
53
+
54
+ * `#blank?`
55
+
56
+ * **`Array`**, **`Hash`**
57
+
58
+ * `#reject_blank_strings`
59
+
60
+ * `#reject_blank_strings!`
61
+
62
+ * `#nilify_blank_strings`
63
+
64
+ * `#nilify_blank_strings!`
65
+
66
+ * **Compact**
67
+
68
+ * **`Hash`**
69
+
70
+ * `#compact`
71
+
72
+ * `#compact!`
73
+
74
+ * **DeepDup**
75
+
76
+ * **`Object`**, **`Hash`**, **`Array`**, **`Module`**, **`Delegator`**
77
+
78
+ * `#deep_dup`
79
+
80
+ * **DeepMerge**
81
+
82
+ * **`Hash`**
83
+
84
+ * `#deep_merge(other_hash, &block)`
85
+
86
+ * `#deep_merge!(other_hash, &block)`
87
+
88
+ * **DigEmpty**
89
+
90
+ * **`Hash`**
91
+
92
+ * `#dig()`
93
+
94
+ * **Except**
95
+
96
+ * **`Hash`**
97
+
98
+ * `#except(*)`
99
+
100
+ * `#except!(*)`
101
+
102
+ * **Inflections**
103
+
104
+ * `.acronyms`
105
+
106
+ * `.from_sequel`
107
+
108
+ * `.from_dry_inflector`
109
+
110
+ * **`String`**, **`Module`**
111
+
112
+ * `#underscore`
113
+
114
+ * **`String`**
115
+
116
+ * `#camelize`
117
+
118
+ * **Keys**
119
+
120
+ * **`Hash`**
121
+
122
+ * `#keys?(*)`
123
+
124
+ * **ModuleParent**
125
+ * **`Module`**
126
+
127
+ * `#module_parent_name`
128
+
129
+ * `#module_parent`
130
+
131
+ * **Namespace**
132
+ * **`String`**, **`Module`**, **`Class`**
133
+
134
+ * `#demodulize`
135
+
136
+ * `#deconstantize`
137
+
138
+ * **Slice**
139
+
140
+ * **`Hash`**
141
+
142
+ * `#slice(*, nils: false)`
143
+
144
+ * `#slice!(*, nils: false)`
145
+
146
+ * `#slice_reverse!(*, nils: false)`
147
+
148
+ * **Symbolize**
149
+
150
+ * **`Hash`**
151
+
152
+ * `#symbolize_keys(deep: false)`
153
+
154
+ * `#symbolize_keys!(deep: false)`
155
+
156
+ * **Truncate**
157
+
158
+ * **`String`**
159
+
160
+ * `#truncate(position, separator: '', omission: '...')`
161
+
162
+ ## Testing
163
+
164
+ ```
165
+ $ rake spec
166
+ ```
167
+
168
+ ## Development
169
+
170
+ After checking out the repo, run `bundle install` to install dependencies.
171
+
172
+ Then, run `toys rspec` to run the tests.
173
+
174
+ To install this gem onto your local machine, run `toys gem install`.
175
+
176
+ To release a new version, run `toys gem release %version%`.
177
+ See how it works [here](https://github.com/AlexWayfer/gem_toys#release).
178
+
179
+ ## Contributing
180
+
181
+ Bug reports and pull requests are welcome on [GitHub](https://github.com/AlexWayfer/gorilla_patch).
182
+
183
+ ## License
184
+
185
+ The gem is available as open source under the terms of the
186
+ [MIT License](https://opensource.org/licenses/MIT).
@@ -23,6 +23,13 @@ module GorillaPatch
23
23
  end
24
24
  end
25
25
 
26
+ ## Also affects `Class`, including `Sequel::Model` with `.empty?`
27
+ refine Module do
28
+ def blank?
29
+ false
30
+ end
31
+ end
32
+
26
33
  # rubocop:disable Metrics/BlockLength
27
34
  REFINED_ENUMERABLES = [Array, Hash].freeze
28
35
 
@@ -23,6 +23,17 @@ module GorillaPatch
23
23
  end
24
24
  end
25
25
 
26
+ refine Module do
27
+ def deep_dup
28
+ result = super
29
+ constants(false).each do |constant|
30
+ result.send :remove_const, constant
31
+ result.const_set constant, const_get(constant).deep_dup
32
+ end
33
+ result
34
+ end
35
+ end
36
+
26
37
  require 'delegate'
27
38
 
28
39
  refine Delegator do
@@ -28,7 +28,7 @@ module GorillaPatch
28
28
  self[other_key] =
29
29
  if self_value.is_a?(Hash) && other_value.is_a?(Hash)
30
30
  self_value.deep_merge!(other_value, &block)
31
- elsif block_given? && key?(other_key)
31
+ elsif block && key?(other_key)
32
32
  yield(other_key, self_value, other_value)
33
33
  else
34
34
  other_value
@@ -4,8 +4,10 @@ module GorillaPatch
4
4
  ## Adding except methods
5
5
  module Except
6
6
  refine Hash do
7
- def except(*keys)
8
- dup.except!(*keys)
7
+ if RUBY_VERSION < '3.0'
8
+ def except(*keys)
9
+ dup.except!(*keys)
10
+ end
9
11
  end
10
12
 
11
13
  def except!(*keys)
@@ -1,14 +1,16 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'set'
4
+
3
5
  module GorillaPatch
4
6
  ## Inflections
5
7
  module Inflections
6
8
  class << self
7
9
  ## Set of acronyms which can be modified externally
8
10
  def acronyms
9
- @acronyms ||= %w[
10
- API DateTime FAQ HTML HTTP HTTPS ID IP JSON SEO SSL UTM XML
11
- ]
11
+ @acronyms ||= Set.new(
12
+ %w[API CLI DB DateTime FAQ HTML HTTP HTTPS ID IP JSON SEO SSL UTM XML]
13
+ )
12
14
  end
13
15
 
14
16
  ## Regular expression for detecting known acronyms
@@ -71,8 +73,7 @@ module GorillaPatch
71
73
  def define_methods_from_sequel
72
74
  Sequel::Inflections.private_instance_methods.each do |method_name|
73
75
  define_method method_name do
74
- Sequel::Inflections.instance_method(method_name)
75
- .bind(self).call(self)
76
+ Sequel::Inflections.instance_method(method_name).bind_call(self, self)
76
77
  end
77
78
  end
78
79
  end
@@ -8,7 +8,7 @@ module GorillaPatch
8
8
  if defined?(@module_parent_name)
9
9
  @module_parent_name
10
10
  else
11
- module_parent_name = name =~ /::[^:]+\Z/ ? $`.freeze : nil
11
+ module_parent_name = name =~ /::[^:]+\Z/ ? Regexp.last_match.pre_match : nil
12
12
  @module_parent_name = module_parent_name unless frozen?
13
13
  module_parent_name
14
14
  end
@@ -8,9 +8,8 @@ module GorillaPatch
8
8
  return dup if length <= position
9
9
 
10
10
  stop = position - omission.length
11
- if separator.is_a?(Regexp) || !separator.empty?
12
- stop = rindex(separator, stop)
13
- end
11
+ stop = rindex(separator, stop) if separator.is_a?(Regexp) || !separator.empty?
12
+
14
13
  "#{self[0, stop]}#{omission}"
15
14
  end
16
15
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GorillaPatch
4
- VERSION = '4.0.0'
4
+ VERSION = '5.0.1'
5
5
  end
data/lib/gorilla_patch.rb CHANGED
@@ -2,4 +2,4 @@
2
2
 
3
3
  Dir.glob(
4
4
  File.join(__dir__, 'gorilla_patch', '*.rb')
5
- ).sort.each { |file| require file }
5
+ ).each { |file| require file }
metadata CHANGED
@@ -1,85 +1,141 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gorilla_patch
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0
4
+ version: 5.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Popov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-06 00:00:00.000000000 Z
11
+ date: 2022-09-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: codecov
14
+ name: pry-byebug
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.1.0
19
+ version: '3.9'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.1.0
26
+ version: '3.9'
27
27
  - !ruby/object:Gem::Dependency
28
- name: pry-byebug
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: gem_toys
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
45
  - - "~>"
32
46
  - !ruby/object:Gem::Version
33
- version: '3.0'
47
+ version: 0.12.1
34
48
  type: :development
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
52
  - - "~>"
39
53
  - !ruby/object:Gem::Version
40
- version: '3.0'
54
+ version: 0.12.1
41
55
  - !ruby/object:Gem::Dependency
42
- name: rake
56
+ name: toys
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
59
  - - "~>"
46
60
  - !ruby/object:Gem::Version
47
- version: '13.0'
61
+ version: 0.13.0
48
62
  type: :development
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
66
  - - "~>"
53
67
  - !ruby/object:Gem::Version
54
- version: '13.0'
68
+ version: 0.13.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: bundler-audit
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 0.9.0
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 0.9.0
55
83
  - !ruby/object:Gem::Dependency
56
84
  name: rspec
57
85
  requirement: !ruby/object:Gem::Requirement
58
86
  requirements:
59
87
  - - "~>"
60
88
  - !ruby/object:Gem::Version
61
- version: '3.0'
89
+ version: '3.9'
62
90
  type: :development
63
91
  prerelease: false
64
92
  version_requirements: !ruby/object:Gem::Requirement
65
93
  requirements:
66
94
  - - "~>"
67
95
  - !ruby/object:Gem::Version
68
- version: '3.0'
96
+ version: '3.9'
97
+ - !ruby/object:Gem::Dependency
98
+ name: simplecov
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 0.21.0
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 0.21.0
111
+ - !ruby/object:Gem::Dependency
112
+ name: simplecov-cobertura
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '2.1'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '2.1'
69
125
  - !ruby/object:Gem::Dependency
70
126
  name: rubocop
71
127
  requirement: !ruby/object:Gem::Requirement
72
128
  requirements:
73
129
  - - "~>"
74
130
  - !ruby/object:Gem::Version
75
- version: 0.83.0
131
+ version: 1.36.0
76
132
  type: :development
77
133
  prerelease: false
78
134
  version_requirements: !ruby/object:Gem::Requirement
79
135
  requirements:
80
136
  - - "~>"
81
137
  - !ruby/object:Gem::Version
82
- version: 0.83.0
138
+ version: 1.36.0
83
139
  - !ruby/object:Gem::Dependency
84
140
  name: rubocop-performance
85
141
  requirement: !ruby/object:Gem::Requirement
@@ -100,42 +156,42 @@ dependencies:
100
156
  requirements:
101
157
  - - "~>"
102
158
  - !ruby/object:Gem::Version
103
- version: '1.0'
159
+ version: '2.0'
104
160
  type: :development
105
161
  prerelease: false
106
162
  version_requirements: !ruby/object:Gem::Requirement
107
163
  requirements:
108
164
  - - "~>"
109
165
  - !ruby/object:Gem::Version
110
- version: '1.0'
166
+ version: '2.0'
111
167
  - !ruby/object:Gem::Dependency
112
- name: simplecov
168
+ name: rubocop-sequel
113
169
  requirement: !ruby/object:Gem::Requirement
114
170
  requirements:
115
171
  - - "~>"
116
172
  - !ruby/object:Gem::Version
117
- version: 0.18.0
173
+ version: 0.3.1
118
174
  type: :development
119
175
  prerelease: false
120
176
  version_requirements: !ruby/object:Gem::Requirement
121
177
  requirements:
122
178
  - - "~>"
123
179
  - !ruby/object:Gem::Version
124
- version: 0.18.0
180
+ version: 0.3.1
125
181
  - !ruby/object:Gem::Dependency
126
182
  name: dry-inflector
127
183
  requirement: !ruby/object:Gem::Requirement
128
184
  requirements:
129
185
  - - "~>"
130
186
  - !ruby/object:Gem::Version
131
- version: 0.2.0
187
+ version: 0.3.0
132
188
  type: :development
133
189
  prerelease: false
134
190
  version_requirements: !ruby/object:Gem::Requirement
135
191
  requirements:
136
192
  - - "~>"
137
193
  - !ruby/object:Gem::Version
138
- version: 0.2.0
194
+ version: 0.3.0
139
195
  - !ruby/object:Gem::Dependency
140
196
  name: sequel
141
197
  requirement: !ruby/object:Gem::Requirement
@@ -156,10 +212,11 @@ executables: []
156
212
  extensions: []
157
213
  extra_rdoc_files: []
158
214
  files:
215
+ - CHANGELOG.md
216
+ - LICENSE.txt
217
+ - README.md
159
218
  - lib/gorilla_patch.rb
160
219
  - lib/gorilla_patch/blank.rb
161
- - lib/gorilla_patch/compact.rb
162
- - lib/gorilla_patch/cover.rb
163
220
  - lib/gorilla_patch/deep_dup.rb
164
221
  - lib/gorilla_patch/deep_merge.rb
165
222
  - lib/gorilla_patch/dig_empty.rb
@@ -175,7 +232,14 @@ files:
175
232
  homepage: https://github.com/AlexWayfer/gorilla_patch
176
233
  licenses:
177
234
  - MIT
178
- metadata: {}
235
+ metadata:
236
+ bug_tracker_uri: https://github.com/AlexWayfer/gorilla_patch/issues
237
+ changelog_uri: https://github.com/AlexWayfer/gorilla_patch/blob/v5.0.1/CHANGELOG.md
238
+ documentation_uri: http://www.rubydoc.info/gems/gorilla_patch/5.0.1
239
+ homepage_uri: https://github.com/AlexWayfer/gorilla_patch
240
+ rubygems_mfa_required: 'true'
241
+ source_code_uri: https://github.com/AlexWayfer/gorilla_patch
242
+ wiki_uri: https://github.com/AlexWayfer/gorilla_patch/wiki
179
243
  post_install_message:
180
244
  rdoc_options: []
181
245
  require_paths:
@@ -184,14 +248,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
184
248
  requirements:
185
249
  - - ">="
186
250
  - !ruby/object:Gem::Version
187
- version: 2.4.0
251
+ version: '3.0'
252
+ - - "<"
253
+ - !ruby/object:Gem::Version
254
+ version: '4'
188
255
  required_rubygems_version: !ruby/object:Gem::Requirement
189
256
  requirements:
190
257
  - - ">="
191
258
  - !ruby/object:Gem::Version
192
259
  version: '0'
193
260
  requirements: []
194
- rubygems_version: 3.1.2
261
+ rubygems_version: 3.3.7
195
262
  signing_key:
196
263
  specification_version: 4
197
264
  summary: Refining core classes
@@ -1,16 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module GorillaPatch
4
- ## Adding compact methods
5
- module Compact
6
- refine Hash do
7
- def compact
8
- select { |_key, value| !value.nil? }
9
- end
10
-
11
- def compact!
12
- delete_if { |_key, value| value.nil? }
13
- end
14
- end
15
- end
16
- end
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module GorillaPatch
4
- ## Adding include methods
5
- module Cover
6
- refine Range do
7
- def cover?(value)
8
- return super unless value.is_a?(Range) && RUBY_VERSION < '2.6'
9
-
10
- super(value.first) && super(value.last)
11
- end
12
- end
13
- end
14
- end