lab42_match 0.1.1 → 0.1.2

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: 5e2e58bcd35bea3e13fc050122d7c98e4947927d36c9cbe57f07e9c9a0a1064e
4
- data.tar.gz: 7cc65dbab76674b605d836c0a529b5c9de6160ee10c835082106e2907d9e332a
3
+ metadata.gz: ff366ded494dfd26faa72d7fbb5c5b6c09fa7c11375ba45d35ff795f7a9459b8
4
+ data.tar.gz: d2cec631c3cde209563ba67ff6d0b04c2c9c8d9dafb6b71429391f1254e79838
5
5
  SHA512:
6
- metadata.gz: a14691319bff7f5890138b491dab3431eebbbac4860b271fadaa6c36bc4de0a6607180e78832657a99fa720e2648d85aa39fc20eb7be8be8a7200c5175d98386
7
- data.tar.gz: 6c83f662655798f2e020e98254bee7bab4f6267d270261048bc143ededf86a316655a243dd1edee1c26af55632fe2c97b3b0d99da639f6f4b59c2016a152bc65
6
+ metadata.gz: a81507f9267ee3720befd58dbc12c937736e7b496930ce2356db1a38f46a664fa0b514bb079f65880e90aa8ebc73286eb46e0b7fdb1552a754fd30d494f00461
7
+ data.tar.gz: e6b9698f1d2705bcc8d29b739dd95fddd681ac123bfd613d2d96a605284f130725441abbf85d4c03b9416e4c832d98db5a0c3e9b984a0dc4ac0a9d3fdb4d9677
@@ -137,13 +137,23 @@ module Lab42
137
137
  end
138
138
 
139
139
  def _init_parts_with_captures
140
- @parts = [@match.pre_match, subject[@match.begin(0)...@match.begin(1)]]
140
+ captures = @match.captures.map{ |x| x || "" }
141
+ last_match_idx = 0
142
+ begin_ends = (1...@match.size)
143
+ .map do |idx|
144
+ x = @match.begin(idx) || last_match_idx
145
+ y = @match.end(idx) || x
146
+ last_match_idx = y
147
+ [x, y]
148
+ end
149
+
150
+ @parts = [@match.pre_match, subject[@match.begin(0)...begin_ends.first.first]]
141
151
  (1...@match.size.pred).each do |capture_index|
142
- @parts << @match[capture_index]
143
- @parts << subject[@match.end(capture_index)...@match.begin(capture_index.succ)]
152
+ @parts << captures[capture_index.pred]
153
+ @parts << subject[begin_ends[capture_index.pred].last...begin_ends[capture_index].first]
144
154
  end
145
- @parts << @match[-1]
146
- @parts << subject[@match.end(@match.size.pred)...@match.end(0)]
155
+ @parts << (@match[-1] || "")
156
+ @parts << subject[begin_ends.last.last...@match.end(0)]
147
157
  @parts << @match.post_match
148
158
  _refresh
149
159
  end
@@ -1,5 +1,5 @@
1
1
  module Lab42
2
2
  class Match
3
- VERSION = "0.1.1"
3
+ VERSION = "0.1.2"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lab42_match
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Dober
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-23 00:00:00.000000000 Z
11
+ date: 2020-07-03 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: forwarder2
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '0.2'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '0.2'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: pry-byebug
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -138,7 +124,7 @@ licenses:
138
124
  - Apache
139
125
  - '2'
140
126
  metadata: {}
141
- post_install_message:
127
+ post_install_message:
142
128
  rdoc_options: []
143
129
  require_paths:
144
130
  - lib
@@ -154,7 +140,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
154
140
  version: '0'
155
141
  requirements: []
156
142
  rubygems_version: 3.1.2
157
- signing_key:
143
+ signing_key:
158
144
  specification_version: 4
159
145
  summary: 'Beyond Match Data: Modify Your Matches'
160
146
  test_files: []