thefox-ext 1.9.0 → 1.10.0
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-v1.md +5 -0
- data/README.md +1 -1
- data/bin/dev +0 -7
- data/lib/thefox-ext/ext/array.rb +2 -2
- data/lib/thefox-ext/ext/string.rb +8 -15
- data/lib/thefox-ext/version.rb +2 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6b68b006a1bf2b6cdc73ca86ef2291c7fe8561e622cdf9f4b6434df6ced40a48
|
4
|
+
data.tar.gz: 9e05dc8bedd4a625040d4899ed3f19315fa58c9a998e8cfc5749e929e15d7451
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 91b5ff18299878084605508f46a5559b8339d52006e32b1908c5a44ee8c04bfa420cddd6fabdf8c7f0996b4d093dae9c916d9affd4efc0c22df3aca2d4ff181d
|
7
|
+
data.tar.gz: d7629b1cff75db5e14ea30a5cd5d08f12227146e61491ca41368d696d7f5b3c5ee020161389fa6d7af113bbe8b7ac0fb9038ec95f32260fff4b552b6a48e7603
|
data/CHANGELOG-v1.md
CHANGED
data/README.md
CHANGED
data/bin/dev
CHANGED
@@ -4,10 +4,3 @@
|
|
4
4
|
require 'thefox-ext'
|
5
5
|
require 'pp'
|
6
6
|
|
7
|
-
# pp '5{1,2}'.resolve_range()
|
8
|
-
# pp '1,2{1-3,5,6,7},4,5{1,2}'.resolve_range()
|
9
|
-
# pp [1, 2].resolve_range_str('3, 4')
|
10
|
-
# pp Array.resolve_range_str('3,4')
|
11
|
-
# pp '3, 4'.resolve_range()
|
12
|
-
# pp '3, 4'.resolve_range()
|
13
|
-
# pp '3, 4'.resolve_range2()
|
data/lib/thefox-ext/ext/array.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
|
2
2
|
class Array
|
3
3
|
|
4
|
-
# DEPRECATED: will be removed in
|
4
|
+
# DEPRECATED: will be removed in v2.0.0.
|
5
5
|
def self.resolve_range_str(original_str, prefix = '')
|
6
|
-
warn "[DEPRECATION] `Array.resolve_range_str` is deprecated.
|
6
|
+
warn "[DEPRECATION] `Array.resolve_range_str` is deprecated."
|
7
7
|
|
8
8
|
rv = Array.new
|
9
9
|
if !original_str.is_a?(String)
|
@@ -64,39 +64,33 @@ class String
|
|
64
64
|
end
|
65
65
|
end
|
66
66
|
|
67
|
-
#
|
68
|
-
# A range string can be like '1, 3..5, 9-11, 12+, 14++, 17+++'.
|
69
|
-
# Which will be resolved to [1, 3, 4, 5, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20].
|
67
|
+
# DEPRECATED: will be removed in v2.0.0.
|
70
68
|
def resolve_range(prefix = '')
|
71
69
|
# puts '-> resolve_range: %s {%s}' % [self, prefix]
|
70
|
+
warn "[DEPRECATION] `String.resolve_range` is deprecated. Please use `TheFox::Range::Resolver` instead."
|
72
71
|
|
73
72
|
rv = Array.new
|
74
73
|
|
75
|
-
|
76
|
-
# pp items1
|
77
|
-
|
78
|
-
items2 = []
|
74
|
+
items = []
|
79
75
|
is_sub_range = false
|
80
76
|
sub_item = []
|
81
|
-
|
77
|
+
self.split(',').each do |item|
|
82
78
|
if item.count('{') > 0
|
83
79
|
is_sub_range = true
|
84
80
|
end
|
85
81
|
if is_sub_range
|
86
82
|
sub_item.push(item)
|
87
83
|
else
|
88
|
-
|
84
|
+
items.push(item)
|
89
85
|
end
|
90
86
|
if item.count('}') > 0
|
91
87
|
is_sub_range = false
|
92
|
-
|
88
|
+
items.push(sub_item.join(','))
|
93
89
|
sub_item = []
|
94
90
|
end
|
95
91
|
end
|
96
92
|
|
97
|
-
|
98
|
-
|
99
|
-
items2.map{ |item|
|
93
|
+
items.map{ |item|
|
100
94
|
item_striped = item.strip
|
101
95
|
if range_match = item_striped.match(/(\d+)\{([\d\-\+,]+)\}/)
|
102
96
|
range_match[2].resolve_range(range_match[1])
|
@@ -105,8 +99,7 @@ class String
|
|
105
99
|
elsif /-/.match(item_striped)
|
106
100
|
Range.new(*item_striped.split('-', 2).map{ |range| range.to_i })
|
107
101
|
elsif /\+/.match(item_striped)
|
108
|
-
|
109
|
-
range_begin = items[0].to_i
|
102
|
+
range_begin = item_striped.split('+').first.to_i
|
110
103
|
range_end = range_begin + item_striped.count('+')
|
111
104
|
Range.new(range_begin, range_end)
|
112
105
|
else
|
data/lib/thefox-ext/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: thefox-ext
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Christian Mayer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-04-
|
11
|
+
date: 2021-04-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|
@@ -105,7 +105,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
105
105
|
- !ruby/object:Gem::Version
|
106
106
|
version: '0'
|
107
107
|
requirements: []
|
108
|
-
rubygems_version: 3.2.
|
108
|
+
rubygems_version: 3.2.15
|
109
109
|
signing_key:
|
110
110
|
specification_version: 4
|
111
111
|
summary: Extended Ruby Classes
|