mustermann 2.0.0 → 3.0.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: b0181b5f440930f6c4e8308e8e11f5cd0513dc4245a37c69fe06d7a3448e3d48
4
- data.tar.gz: 467aed81ed5b287a53c29fe7a43eacf375ce4f973b0b9b85d3400ab8c3bb9d80
3
+ metadata.gz: ea330a8bf09165e676628df2668f0afa5d8fd32372bb7b07ed6a286cf274f74c
4
+ data.tar.gz: 58b0252ef3ba1d5bd06b3dceab50c06ba011d98b9e2bc54c6caa314443fa722b
5
5
  SHA512:
6
- metadata.gz: 8aa6339c6cd99bf69519e1b5be4afcbce878379f66a3fda3c8996b0020941296dccbf9cb51c9a03989e2561ca27709225a9dbadaa9da6d81476522c0a2845fd7
7
- data.tar.gz: c6171a83ab906b0568516d26475531221196d130ad42b75e766a4200d252c5042fdcb6061a7b9a60980edefdd89e85d46aa1bcbba0cffaa01c66972f669409fc
6
+ metadata.gz: f9e8638a1cb73cf39256c6cb422d4d1a4601a2d9348aba8361d31083103e0495a843d595b579f08d2614ba1b665b41959a79eaffd869348551a2cb558c1cf1ea
7
+ data.tar.gz: 5b569063e6dd7d3beb3bdd983d4f5c30a9d12ce7b5e06d0f1f215e56004ba678011df824d26a94d5dc136d957c7835e5bcc38081cbbda2d838cfe78b3ca00ec7
@@ -12,11 +12,11 @@ module Mustermann
12
12
  class Expander < Translator
13
13
  raises ExpandError
14
14
 
15
- translate Array do |*args|
15
+ translate(Array, &-> (*args) do
16
16
  inject(t.pattern) do |pattern, element|
17
17
  t.add_to(pattern, t(element, *args))
18
18
  end
19
- end
19
+ end.ruby2_keywords)
20
20
 
21
21
  translate :capture do |**options|
22
22
  t.for_capture(node, **options)
@@ -124,6 +124,8 @@ module Mustermann
124
124
  # @see Mustermann::AST::Translator#expand
125
125
  # @!visibility private
126
126
  ruby2_keywords def escape(string, *args)
127
+ return super unless string.respond_to?(:=~)
128
+
127
129
  # URI::Parser is pretty slow, let's not send every string to it, even if it's unnecessary
128
130
  string =~ /\A\w*\Z/ ? string : super
129
131
  end
@@ -35,8 +35,8 @@ module Mustermann
35
35
  # Helper for creating a new instance and calling #parse on it.
36
36
  # @return [Mustermann::AST::Node]
37
37
  # @!visibility private
38
- def self.parse(*args, &block)
39
- new(*args).tap { |n| n.parse(&block) }
38
+ def self.parse(payload = nil, **options, &block)
39
+ new(payload, **options).tap { |n| n.parse(&block) }
40
40
  end
41
41
 
42
42
  # @!visibility private
@@ -73,7 +73,6 @@ module Mustermann
73
73
  Class.new(const_get(:NodeTranslator)) do
74
74
  register(*types)
75
75
  define_method(:translate, &block)
76
- ruby2_keywords :translate
77
76
  end
78
77
  end
79
78
 
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Mustermann
3
- VERSION ||= '2.0.0'
3
+ VERSION ||= '3.0.0'
4
4
  end
data/mustermann.gemspec CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |s|
10
10
  s.summary = %q{Your personal string matching expert.}
11
11
  s.description = %q{A library implementing patterns that behave like regular expressions.}
12
12
  s.license = 'MIT'
13
- s.required_ruby_version = '>= 2.2.0'
13
+ s.required_ruby_version = '>= 2.6.0'
14
14
  s.files = `git ls-files`.split("\n")
15
15
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
16
16
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mustermann
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Konstantin Haase
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2022-07-18 00:00:00.000000000 Z
12
+ date: 2022-07-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: ruby2_keywords
@@ -97,14 +97,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
97
97
  requirements:
98
98
  - - ">="
99
99
  - !ruby/object:Gem::Version
100
- version: 2.2.0
100
+ version: 2.6.0
101
101
  required_rubygems_version: !ruby/object:Gem::Requirement
102
102
  requirements:
103
103
  - - ">="
104
104
  - !ruby/object:Gem::Version
105
105
  version: '0'
106
106
  requirements: []
107
- rubygems_version: 3.2.22
107
+ rubygems_version: 3.0.3.1
108
108
  signing_key:
109
109
  specification_version: 4
110
110
  summary: Your personal string matching expert.