gorilla-patch 2.8.0 → 2.9.2.3

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: 22374520b1e3516e6bb6dddbf78792678cbe479a5acfbb3dd98700c9878df750
4
- data.tar.gz: 4768691dcfa6026be3b471b0d6dec23f12c2c8199821183ac859475c2a722c8e
3
+ metadata.gz: 6f418da6e99f90add38cd4e9deb2cfb8c2f97cbbb71d1b274a70ccd44a33cd2a
4
+ data.tar.gz: 44fde9550e04d187da91e7114343ffcc2ed2fd483cd9fae90de633b546f14620
5
5
  SHA512:
6
- metadata.gz: 6d0b6a5faed7793a3a76b1952ad36ed44f91a9f786e4479d9ecbfc7a87ad541915c8f0e08144d21e3cac668a6b9d9952a15dfa9220127152bd7b757274566601
7
- data.tar.gz: 9bd88749f81ba168283772b3267424ab791ce1b93d167caf76fe79742205ad584d1a5c893deb3b289b9ec502cf4858ca26cf18decf74ad3cca4ebaf56c2a3f9b
6
+ metadata.gz: 0f1e66a8bebde80bfe3e6fc0745b56cccbb7a85e0ec830d1d01924e85507881346583868c17d5d74704008cc501e446facb644298139fa4336fde455f260ac13
7
+ data.tar.gz: 2b7c5fe11ff94c13e5d32c5bfa72b8a2f7a54540215345be68a6aa4cc7f671e45b480fbe248440469bb71f8860dba3b9f447d555364ef42c615d67481d05cd93
@@ -1,5 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- Dir.glob(
4
- File.join(__dir__, 'gorilla-patch', '*.rb')
5
- ).each { |file| require file }
3
+ warn(
4
+ '[DEPRECATION] This gem has been renamed to `gorilla_patch` and will no ' \
5
+ 'longer be supported. Please switch to `gorilla_patch` as soon as possible.'
6
+ )
7
+
8
+ require 'gorilla_patch'
@@ -1,35 +1 @@
1
- # frozen_string_literal: true
2
-
3
- module GorillaPatch
4
- ## Adding deep_merge method
5
- module DeepMerge
6
- refine Hash do
7
- def deep_merge!(other_hash, &block)
8
- other_hash.each do |other_key, other_value|
9
- self_value = self[other_key]
10
-
11
- deep_value_merge!(other_key, self_value, other_value, &block)
12
- end
13
-
14
- self
15
- end
16
-
17
- def deep_merge(other_hash, &block)
18
- dup.deep_merge!(other_hash, &block)
19
- end
20
-
21
- private
22
-
23
- def deep_value_merge!(other_key, self_value, other_value, &block)
24
- self[other_key] =
25
- if self_value.is_a?(Hash) && other_value.is_a?(Hash)
26
- self_value.deep_merge!(other_value, &block)
27
- elsif block_given? && key?(other_key)
28
- yield(other_key, self_value, other_value)
29
- else
30
- other_value
31
- end
32
- end
33
- end
34
- end
35
- end
1
+ require 'gorilla_patch/deep_merge'
@@ -1,50 +1 @@
1
- # frozen_string_literal: true
2
-
3
- module GorillaPatch
4
- ## Inflections
5
- module Inflections
6
- refine String do
7
- def underscore
8
- gsub(/::/, '/')
9
- .gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
10
- .gsub(/([a-z\d])([A-Z])/, '\1_\2')
11
- .tr('-', '_')
12
- .downcase
13
- end
14
-
15
- def camelize
16
- split('/')
17
- .map do |s|
18
- s.split(/([[:upper:]][[:lower:]]*)|_|-/).collect(&:capitalize).join
19
- end
20
- .join('::')
21
- end
22
- end
23
-
24
- refine Module do
25
- def underscore
26
- to_s.underscore
27
- end
28
- end
29
-
30
- def self.from_sequel
31
- @from_sequel ||= Module.new do
32
- require 'sequel'
33
-
34
- refine String do
35
- Sequel::Inflections.private_instance_methods.each do |method|
36
- define_method method do
37
- Sequel::Inflections.instance_method(method).bind(self).call(self)
38
- end
39
- end
40
- end
41
- end
42
- end
43
-
44
- def self.from_inflecto
45
- require 'inflecto-refinements'
46
-
47
- Inflecto::Refinements
48
- end
49
- end
50
- end
1
+ require 'gorilla_patch/inflections'
@@ -1,28 +1 @@
1
- # frozen_string_literal: true
2
-
3
- module GorillaPatch
4
- ## Adding namespaces-changing methods
5
- module Namespace
6
- refine String do
7
- def demodulize
8
- split('::').last.to_s
9
- end
10
-
11
- def deconstantize
12
- self[0, rindex('::') || 0]
13
- end
14
- end
15
-
16
- [Module, Class].each do |klass|
17
- refine klass do
18
- def demodulize
19
- name.to_s.demodulize
20
- end
21
-
22
- def deconstantize
23
- name.to_s.deconstantize
24
- end
25
- end
26
- end
27
- end
28
- end
1
+ require 'gorilla_patch/namespace'
@@ -1,33 +1 @@
1
- # frozen_string_literal: true
2
-
3
- module GorillaPatch
4
- ## Adding symbolize methods
5
- module Symbolize
6
- refine Hash do
7
- def symbolize_keys(deep: false)
8
- each_with_object({}) do |(key, value), hash|
9
- value = deep_symbolize_keys_in(value) if deep
10
- key = key.to_sym if key.respond_to?(:to_sym)
11
- hash[key] = value
12
- end
13
- end
14
-
15
- def symbolize_keys!(deep: false)
16
- replace symbolize_keys(deep: deep)
17
- end
18
-
19
- private
20
-
21
- def deep_symbolize_keys_in(object)
22
- case object
23
- when Hash
24
- object.symbolize_keys(deep: true)
25
- when Array
26
- object.map { |el| deep_symbolize_keys_in(el) }
27
- else
28
- object
29
- end
30
- end
31
- end
32
- end
33
- end
1
+ require 'gorilla_patch/symbolize'
@@ -1,22 +1 @@
1
- # frozen_string_literal: true
2
-
3
- module GorillaPatch
4
- ## Module for transformations methods
5
- module Transform
6
- refine Hash do
7
- def transform_values
8
- return super if defined? super
9
- each_with_object(self.class.new) do |(key, value), result|
10
- result[key] = yield value
11
- end
12
- end
13
-
14
- def transform_values!
15
- return super if defined? super
16
- each do |key, value|
17
- self[key] = yield value
18
- end
19
- end
20
- end
21
- end
22
- end
1
+ require 'gorilla_patch/transform'
metadata CHANGED
@@ -1,139 +1,46 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gorilla-patch
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.8.0
4
+ version: 2.9.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Popov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-18 00:00:00.000000000 Z
11
+ date: 2018-05-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: codecov
14
+ name: gorilla_patch
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :development
19
+ version: '2.9'
20
+ type: :runtime
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'
27
- - !ruby/object:Gem::Dependency
28
- name: rake
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '12'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '12'
41
- - !ruby/object:Gem::Dependency
42
- name: rspec
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '3'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '3'
55
- - !ruby/object:Gem::Dependency
56
- name: rubocop
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '0.52'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '0.52'
69
- - !ruby/object:Gem::Dependency
70
- name: simplecov
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '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'
83
- - !ruby/object:Gem::Dependency
84
- name: inflecto-refinements
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: sequel
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - "~>"
102
- - !ruby/object:Gem::Version
103
- version: '5'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: '5'
111
- description: Refine Ruby Core classes with methods like Active Support.
26
+ version: '2.9'
27
+ description: The `gorilla-patch` gem has been renamed to `gorilla_patch`.
112
28
  email: alex.wayfer@gmail.com
113
29
  executables: []
114
30
  extensions: []
115
31
  extra_rdoc_files: []
116
32
  files:
117
33
  - lib/gorilla-patch.rb
118
- - lib/gorilla-patch/blank.rb
119
- - lib/gorilla-patch/compact.rb
120
- - lib/gorilla-patch/cover.rb
121
- - lib/gorilla-patch/deep_dup.rb
122
34
  - lib/gorilla-patch/deep_merge.rb
123
- - lib/gorilla-patch/dig_empty.rb
124
- - lib/gorilla-patch/except.rb
125
35
  - lib/gorilla-patch/inflections.rb
126
- - lib/gorilla-patch/keys.rb
127
36
  - lib/gorilla-patch/namespace.rb
128
- - lib/gorilla-patch/slice.rb
129
37
  - lib/gorilla-patch/symbolize.rb
130
38
  - lib/gorilla-patch/transform.rb
131
- - lib/gorilla-patch/truncate.rb
132
- homepage: https://github.com/AlexWayfer/gorilla-patch
39
+ homepage: https://github.com/AlexWayfer/gorilla_patch
133
40
  licenses:
134
41
  - MIT
135
42
  metadata: {}
136
- post_install_message:
43
+ post_install_message: "! The `gorilla-patch` gem has been renamed to `gorilla_patch`."
137
44
  rdoc_options: []
138
45
  require_paths:
139
46
  - lib
@@ -141,7 +48,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
141
48
  requirements:
142
49
  - - ">="
143
50
  - !ruby/object:Gem::Version
144
- version: 2.1.0
51
+ version: '2.3'
145
52
  required_rubygems_version: !ruby/object:Gem::Requirement
146
53
  requirements:
147
54
  - - ">="
@@ -149,8 +56,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
149
56
  version: '0'
150
57
  requirements: []
151
58
  rubyforge_project:
152
- rubygems_version: 2.7.3
59
+ rubygems_version: 2.7.6
153
60
  signing_key:
154
61
  specification_version: 4
155
- summary: Refining core classes
62
+ summary: Renamed to `gorilla_patch`
156
63
  test_files: []
@@ -1,86 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative 'deep_dup'
4
-
5
- module GorillaPatch
6
- ## Adding blank methods
7
- module Blank
8
- refine String do
9
- def blank?
10
- strip.empty?
11
- end
12
- end
13
-
14
- refine NilClass do
15
- def blank?
16
- true
17
- end
18
- end
19
-
20
- # rubocop:disable Metrics/BlockLength
21
- [Array, Hash].each do |klass|
22
- refine klass do
23
- def reject_blank_strings!
24
- replace reject_blank_strings
25
- end
26
-
27
- def nilify_blank_strings
28
- result = map do |element|
29
- if element.is_a?(String) && element.blank?
30
- nil
31
- elsif element.is_a?(Enumerable)
32
- element.nilify_blank_strings
33
- else
34
- element
35
- end
36
- end
37
- is_a?(Hash) ? result.to_h : result
38
- end
39
-
40
- def nilify_blank_strings!
41
- replace nilify_blank_strings
42
- end
43
-
44
- private
45
-
46
- def deep_value_empty?(value)
47
- deep_reject_blank_strings_in(value).empty?
48
- rescue NoMethodError
49
- false
50
- end
51
-
52
- def deep_reject_blank_strings_in(object)
53
- case object
54
- when String
55
- object.strip
56
- when Hash, Array
57
- object.reject_blank_strings!
58
- else
59
- object
60
- end
61
- end
62
- end
63
- end
64
- # rubocop:enable Metrics/BlockLength
65
-
66
- refine Array do
67
- using GorillaPatch::DeepDup
68
-
69
- def reject_blank_strings
70
- deep_dup.reject do |value|
71
- deep_value_empty? value
72
- end
73
- end
74
- end
75
-
76
- refine Hash do
77
- using GorillaPatch::DeepDup
78
-
79
- def reject_blank_strings
80
- deep_dup.reject do |_key, value|
81
- deep_value_empty? value
82
- end
83
- end
84
- end
85
- end
86
- end
@@ -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,13 +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
9
- super(value.first) && super(value.last)
10
- end
11
- end
12
- end
13
- end
@@ -1,39 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module GorillaPatch
4
- ## Adding deep_dup method
5
- module DeepDup
6
- refine Object do
7
- def deep_dup
8
- dup
9
- rescue TypeError
10
- # :nocov:
11
- # For Ruby < 2.4: https://bugs.ruby-lang.org/issues/12979
12
- self
13
- # :nocov:
14
- end
15
- end
16
-
17
- refine Hash do
18
- def deep_dup
19
- each_with_object(dup) do |(key, value), hash|
20
- hash[key.deep_dup] = value.deep_dup
21
- end
22
- end
23
- end
24
-
25
- refine Array do
26
- def deep_dup
27
- map { |el| el.deep_dup }
28
- end
29
- end
30
-
31
- refine Delegator do
32
- def deep_dup
33
- dup
34
- rescue NoMethodError
35
- self
36
- end
37
- end
38
- end
39
- end
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module GorillaPatch
4
- ## Allows dig with 0 arguments
5
- module DigEmpty
6
- refine Hash do
7
- def dig(*keys)
8
- keys.any? ? super : self
9
- end
10
- end
11
- end
12
- end
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module GorillaPatch
4
- ## Adding except methods
5
- module Except
6
- refine Hash do
7
- def except(*keys)
8
- dup.except!(*keys)
9
- end
10
-
11
- def except!(*keys)
12
- keys.each { |key| delete(key) }
13
- self
14
- end
15
- end
16
- end
17
- end
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module GorillaPatch
4
- ## Adding keys methods
5
- module Keys
6
- refine Hash do
7
- def keys?(*keys)
8
- keys.all? { |k| key?(k) }
9
- end
10
- end
11
- end
12
- end
@@ -1,29 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module GorillaPatch
4
- ## Adding slice methods
5
- module Slice
6
- refine Hash do
7
- def slice(*keys)
8
- return super if defined? super
9
- keys.each_with_object(self.class.new) do |k, hash|
10
- hash[k] = self[k] if key?(k)
11
- end
12
- end
13
-
14
- def slice!(*keys)
15
- omit = slice(*self.keys - keys)
16
- hash = slice(*keys)
17
- replace(hash)
18
- omit
19
- end
20
-
21
- def slice_reverse!(*keys)
22
- omit = slice!(*keys)
23
- hash = dup
24
- replace(omit)
25
- hash
26
- end
27
- end
28
- end
29
- end
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module GorillaPatch
4
- ## Module for truncating
5
- module Truncate
6
- refine String do
7
- def truncate(position, separator: '', omission: '...')
8
- return dup if length <= position
9
- stop = position - omission.length
10
- if separator.is_a?(Regexp) || !separator.empty?
11
- stop = rindex(separator, stop)
12
- end
13
- "#{self[0, stop]}#{omission}"
14
- end
15
- end
16
- end
17
- end