safe_regexp 0.3.0 → 0.4.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a1b53f631242793887df75393c4014b95d315c0da5d29ca71a19fdbee8ea0814
4
- data.tar.gz: 8feeb084ff50295347f4d1912c4a60411d6a35a1926356a5bc11f50cc6f5c356
3
+ metadata.gz: d41a513f71c9af110f801100927df7c2f99abb869b131bd5ebdd9694eec9f740
4
+ data.tar.gz: ae1565f7ef31858ecb5c64e0568dd8850f4192f594ce42d54564f616b8810306
5
5
  SHA512:
6
- metadata.gz: 35168912597704b09226bdea3250b79e33b59fe1efa45e6cc1dda3e86b62ffafd40139f8a25846b9dd0e91451b5d8df6933be4ebe9979ecaacf6675b5b9e64c7
7
- data.tar.gz: 60c632ae1285e018beb9332be2a81a75c04d76d0127c387528fa24720062e0fe9499eeab189a4f6c05b5d3e5279808d932fa5e201e9cf0a04abc15916e8cbd13
6
+ metadata.gz: be06fe147c0df803974e4c4bbf23b652aa475d45048e757095ba4dd5b0f25d632f5e2aa71d69627cce6e0b9e48d3ff7e3cc8c9ad7a22b7f1cdcd1e138c57c12b
7
+ data.tar.gz: 500711ebe4a39248c8f7d8c7b16fea6bf7aaaa71696b5b95e00c58b62a520ce0f116a215bedfabd55278a79fd0ea0afa03b3ce5ed03e11337b5dd4836482b863
@@ -8,7 +8,7 @@ module SafeRegexp
8
8
  end
9
9
 
10
10
  class << self
11
- def execute(regex, method, string, timeout: 1, keepalive: 10)
11
+ def execute(regex, method, *args, timeout: 1, keepalive: 10)
12
12
  retried = false
13
13
 
14
14
  begin
@@ -16,7 +16,7 @@ module SafeRegexp
16
16
 
17
17
  begin
18
18
  read, write, pid = executor
19
- Marshal.dump([regex, method, string, keepalive], write)
19
+ Marshal.dump([regex, method, args, keepalive], write)
20
20
  rescue Errno::EPIPE
21
21
  # keepalive already killed the process, but we don't check before sending
22
22
  # since that would be a race condition and cause overhead for the 99.9% case
@@ -87,12 +87,12 @@ module SafeRegexp
87
87
  loop do
88
88
  break unless IO.select([in_read], nil, nil, keepalive)
89
89
  begin
90
- regexp, method, string, keepalive = Marshal.load(in_read)
90
+ regexp, method, args, keepalive = Marshal.load(in_read)
91
91
  rescue EOFError # someone killed this fork
92
92
  break
93
93
  end
94
94
  begin
95
- result = regexp.public_send(method, string)
95
+ result = regexp.public_send(method, *args)
96
96
  result = result.to_a if result.is_a?(MatchData) # cannot be dumped
97
97
  rescue RESCUED_EXCEPTION
98
98
  result = $!
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module SafeRegexp
3
- VERSION = "0.3.0"
3
+ VERSION = "0.4.0"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: safe_regexp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Grosser
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-04-10 00:00:00.000000000 Z
11
+ date: 2020-04-23 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email: michael@grosser.it
@@ -38,8 +38,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
38
38
  - !ruby/object:Gem::Version
39
39
  version: '0'
40
40
  requirements: []
41
- rubyforge_project:
42
- rubygems_version: 2.7.6
41
+ rubygems_version: 3.0.3
43
42
  signing_key:
44
43
  specification_version: 4
45
44
  summary: Backtracking bomb safety / timeouts for regular expressions