gorilla-patch 2.8.0 → 2.9.2.3
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/lib/gorilla-patch.rb +6 -3
- data/lib/gorilla-patch/deep_merge.rb +1 -35
- data/lib/gorilla-patch/inflections.rb +1 -50
- data/lib/gorilla-patch/namespace.rb +1 -28
- data/lib/gorilla-patch/symbolize.rb +1 -33
- data/lib/gorilla-patch/transform.rb +1 -22
- metadata +12 -105
- data/lib/gorilla-patch/blank.rb +0 -86
- data/lib/gorilla-patch/compact.rb +0 -16
- data/lib/gorilla-patch/cover.rb +0 -13
- data/lib/gorilla-patch/deep_dup.rb +0 -39
- data/lib/gorilla-patch/dig_empty.rb +0 -12
- data/lib/gorilla-patch/except.rb +0 -17
- data/lib/gorilla-patch/keys.rb +0 -12
- data/lib/gorilla-patch/slice.rb +0 -29
- data/lib/gorilla-patch/truncate.rb +0 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6f418da6e99f90add38cd4e9deb2cfb8c2f97cbbb71d1b274a70ccd44a33cd2a
|
4
|
+
data.tar.gz: 44fde9550e04d187da91e7114343ffcc2ed2fd483cd9fae90de633b546f14620
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0f1e66a8bebde80bfe3e6fc0745b56cccbb7a85e0ec830d1d01924e85507881346583868c17d5d74704008cc501e446facb644298139fa4336fde455f260ac13
|
7
|
+
data.tar.gz: 2b7c5fe11ff94c13e5d32c5bfa72b8a2f7a54540215345be68a6aa4cc7f671e45b480fbe248440469bb71f8860dba3b9f447d555364ef42c615d67481d05cd93
|
data/lib/gorilla-patch.rb
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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.
|
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-
|
11
|
+
date: 2018-05-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: gorilla_patch
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
20
|
-
type: :
|
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: '
|
27
|
-
-
|
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
|
-
|
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.
|
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.
|
59
|
+
rubygems_version: 2.7.6
|
153
60
|
signing_key:
|
154
61
|
specification_version: 4
|
155
|
-
summary:
|
62
|
+
summary: Renamed to `gorilla_patch`
|
156
63
|
test_files: []
|
data/lib/gorilla-patch/blank.rb
DELETED
@@ -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
|
data/lib/gorilla-patch/cover.rb
DELETED
@@ -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
|
data/lib/gorilla-patch/except.rb
DELETED
@@ -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
|
data/lib/gorilla-patch/keys.rb
DELETED
data/lib/gorilla-patch/slice.rb
DELETED
@@ -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
|