cucumber-cucumber-expressions 8.3.1 → 19.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.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +2 -2
  3. data/lib/cucumber/cucumber_expressions/argument.rb +8 -4
  4. data/lib/cucumber/cucumber_expressions/ast.rb +166 -0
  5. data/lib/cucumber/cucumber_expressions/combinatorial_generated_expression_factory.rb +6 -13
  6. data/lib/cucumber/cucumber_expressions/cucumber_expression.rb +82 -80
  7. data/lib/cucumber/cucumber_expressions/cucumber_expression_generator.rb +14 -26
  8. data/lib/cucumber/cucumber_expressions/cucumber_expression_parser.rb +203 -0
  9. data/lib/cucumber/cucumber_expressions/cucumber_expression_tokenizer.rb +90 -0
  10. data/lib/cucumber/cucumber_expressions/errors.rb +205 -13
  11. data/lib/cucumber/cucumber_expressions/expression_factory.rb +24 -0
  12. data/lib/cucumber/cucumber_expressions/generated_expression.rb +2 -0
  13. data/lib/cucumber/cucumber_expressions/group.rb +7 -1
  14. data/lib/cucumber/cucumber_expressions/group_builder.rb +9 -2
  15. data/lib/cucumber/cucumber_expressions/parameter_type.rb +14 -21
  16. data/lib/cucumber/cucumber_expressions/parameter_type_matcher.rb +11 -9
  17. data/lib/cucumber/cucumber_expressions/parameter_type_registry.rb +28 -16
  18. data/lib/cucumber/cucumber_expressions/regular_expression.rb +3 -2
  19. data/lib/cucumber/cucumber_expressions/tree_regexp.rb +54 -46
  20. metadata +76 -77
  21. data/.github/ISSUE_TEMPLATE.md +0 -5
  22. data/.github/PULL_REQUEST_TEMPLATE.md +0 -5
  23. data/.rspec +0 -1
  24. data/.rsync +0 -4
  25. data/.subrepo +0 -1
  26. data/Gemfile +0 -3
  27. data/Makefile +0 -1
  28. data/README.md +0 -5
  29. data/Rakefile +0 -27
  30. data/cucumber-cucumber-expressions.gemspec +0 -33
  31. data/default.mk +0 -70
  32. data/examples.txt +0 -31
  33. data/scripts/update-gemspec +0 -32
  34. data/spec/capture_warnings.rb +0 -74
  35. data/spec/coverage.rb +0 -7
  36. data/spec/cucumber/cucumber_expressions/argument_spec.rb +0 -17
  37. data/spec/cucumber/cucumber_expressions/combinatorial_generated_expression_factory_test.rb +0 -43
  38. data/spec/cucumber/cucumber_expressions/cucumber_expression_generator_spec.rb +0 -231
  39. data/spec/cucumber/cucumber_expressions/cucumber_expression_regexp_spec.rb +0 -57
  40. data/spec/cucumber/cucumber_expressions/cucumber_expression_spec.rb +0 -212
  41. data/spec/cucumber/cucumber_expressions/custom_parameter_type_spec.rb +0 -202
  42. data/spec/cucumber/cucumber_expressions/expression_examples_spec.rb +0 -30
  43. data/spec/cucumber/cucumber_expressions/parameter_type_registry_spec.rb +0 -86
  44. data/spec/cucumber/cucumber_expressions/parameter_type_spec.rb +0 -15
  45. data/spec/cucumber/cucumber_expressions/regular_expression_spec.rb +0 -80
  46. data/spec/cucumber/cucumber_expressions/tree_regexp_spec.rb +0 -133
@@ -1,20 +1,20 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Cucumber
2
4
  module CucumberExpressions
3
5
  class ParameterTypeMatcher
4
6
  attr_reader :parameter_type
5
7
 
6
- def initialize(parameter_type, regexp, text, match_position=0)
8
+ def initialize(parameter_type, regexp, text, match_position = 0)
7
9
  @parameter_type, @regexp, @text = parameter_type, regexp, text
8
10
  @match = @regexp.match(@text, match_position)
9
11
  end
10
12
 
11
13
  def advance_to(new_match_position)
12
- (new_match_position...@text.length).each {|advancedPos|
13
- matcher = self.class.new(parameter_type, @regexp, @text, advancedPos)
14
- if matcher.find && matcher.full_word?
15
- return matcher
16
- end
17
- }
14
+ (new_match_position...@text.length).each do |advanced_position|
15
+ matcher = self.class.new(parameter_type, @regexp, @text, advanced_position)
16
+ return matcher if matcher.find && matcher.full_word?
17
+ end
18
18
 
19
19
  self.class.new(parameter_type, @regexp, @text, @text.length)
20
20
  end
@@ -38,8 +38,10 @@ module Cucumber
38
38
  def <=>(other)
39
39
  pos_comparison = start <=> other.start
40
40
  return pos_comparison if pos_comparison != 0
41
+
41
42
  length_comparison = other.group.length <=> group.length
42
43
  return length_comparison if length_comparison != 0
44
+
43
45
  0
44
46
  end
45
47
 
@@ -47,12 +49,12 @@ module Cucumber
47
49
 
48
50
  def space_before_match_or_sentence_start?
49
51
  match_begin = @match.begin(0)
50
- match_begin == 0 || @text[match_begin - 1].match(/\s|\p{P}/)
52
+ match_begin == 0 || @text[match_begin - 1].match(/\p{Z}|\p{P}|\p{S}/)
51
53
  end
52
54
 
53
55
  def space_after_match_or_sentence_end?
54
56
  match_end = @match.end(0)
55
- match_end == @text.length || @text[match_end].match(/\s|\p{P}/)
57
+ match_end == @text.length || @text[match_end].match(/\p{Z}|\p{P}|\p{S}/)
56
58
  end
57
59
  end
58
60
  end
@@ -1,25 +1,34 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'cucumber/cucumber_expressions/parameter_type'
2
4
  require 'cucumber/cucumber_expressions/errors'
3
5
  require 'cucumber/cucumber_expressions/cucumber_expression_generator'
6
+ require 'bigdecimal'
4
7
 
5
8
  module Cucumber
6
9
  module CucumberExpressions
7
10
  class ParameterTypeRegistry
8
- INTEGER_REGEXPS = [/-?\d+/, /\d+/]
9
- FLOAT_REGEXP = /(?=.*\d.*)[-+]?\d*(?:\.(?=\d.*))?\d*(?:\d+[E][-+]?\d+)?/
10
- WORD_REGEXP = /[^\s]+/
11
- STRING_REGEXP = /"([^"\\]*(\\.[^"\\]*)*)"|'([^'\\]*(\\.[^'\\]*)*)'/
12
- ANONYMOUS_REGEXP = /.*/
11
+ INTEGER_REGEXPS = [/-?\d+/, /\d+/].freeze
12
+ FLOAT_REGEXP = /(?=.*\d.*)[-+]?\d*(?:\.(?=\d.*))?\d*(?:\d+[E][-+]?\d+)?/.freeze
13
+ WORD_REGEXP = /[^\s]+/.freeze
14
+ STRING_REGEXP = /"([^"\\]*(\\.[^"\\]*)*)"|'([^'\\]*(\\.[^'\\]*)*)'/.freeze
15
+ ANONYMOUS_REGEXP = /.*/.freeze
13
16
 
14
17
  def initialize
15
18
  @parameter_type_by_name = {}
16
- @parameter_types_by_regexp = Hash.new {|hash, regexp| hash[regexp] = []}
19
+ @parameter_types_by_regexp = Hash.new { |hash, regexp| hash[regexp] = [] }
17
20
 
18
- define_parameter_type(ParameterType.new('int', INTEGER_REGEXPS, Integer, lambda {|s = nil| s && s.to_i}, true, true))
19
- define_parameter_type(ParameterType.new('float', FLOAT_REGEXP, Float, lambda {|s = nil| s && s.to_f}, true, false))
20
- define_parameter_type(ParameterType.new('word', WORD_REGEXP, String, lambda {|s = nil| s}, false, false))
21
- define_parameter_type(ParameterType.new('string', STRING_REGEXP, String, lambda {|s = nil| s && s.gsub(/\\"/, '"').gsub(/\\'/, "'")}, true, false))
22
- define_parameter_type(ParameterType.new('', ANONYMOUS_REGEXP, String, lambda {|s = nil| s}, false, true))
21
+ define_parameter_type(ParameterType.new('int', INTEGER_REGEXPS, Integer, ->(s = nil) { s && s.to_i }, true, true))
22
+ define_parameter_type(ParameterType.new('float', FLOAT_REGEXP, Float, ->(s = nil) { s && s.to_f }, true, false))
23
+ define_parameter_type(ParameterType.new('word', WORD_REGEXP, String, ->(s = nil) { s }, false, false))
24
+ define_parameter_type(ParameterType.new('string', STRING_REGEXP, String, ->(s1, s2) { arg = s1 != nil ? s1 : s2; arg.gsub('\\"', '"').gsub("\\'", "'") }, true, false))
25
+ define_parameter_type(ParameterType.new('', ANONYMOUS_REGEXP, String, ->(s = nil) { s }, false, true))
26
+ define_parameter_type(ParameterType.new('bigdecimal', FLOAT_REGEXP, BigDecimal, ->(s = nil) { BigDecimal(s) }, false, false))
27
+ define_parameter_type(ParameterType.new('biginteger', INTEGER_REGEXPS, Integer, ->(s = nil) { s && s.to_i }, false, false))
28
+ define_parameter_type(ParameterType.new('byte', INTEGER_REGEXPS, Integer, ->(s = nil) { s && s.to_i }, false, false))
29
+ define_parameter_type(ParameterType.new('short', INTEGER_REGEXPS, Integer, ->(s = nil) { s && s.to_i }, false, false))
30
+ define_parameter_type(ParameterType.new('long', INTEGER_REGEXPS, Integer, ->(s = nil) { s && s.to_i }, false, false))
31
+ define_parameter_type(ParameterType.new('double', FLOAT_REGEXP, Float, ->(s = nil) { s && s.to_f }, false, false))
23
32
  end
24
33
 
25
34
  def lookup_by_type_name(name)
@@ -29,7 +38,8 @@ module Cucumber
29
38
  def lookup_by_regexp(parameter_type_regexp, expression_regexp, text)
30
39
  parameter_types = @parameter_types_by_regexp[parameter_type_regexp]
31
40
  return nil if parameter_types.nil?
32
- if parameter_types.length > 1 && !parameter_types[0].prefer_for_regexp_match?
41
+
42
+ if parameter_types.length > 1 && !parameter_types[0].prefer_for_regexp_match
33
43
  # We don't do this check on insertion because we only want to restrict
34
44
  # ambiguity when we look up by Regexp. Users of CucumberExpression should
35
45
  # not be restricted.
@@ -47,7 +57,7 @@ module Cucumber
47
57
  if parameter_type.name != nil
48
58
  if @parameter_type_by_name.has_key?(parameter_type.name)
49
59
  if parameter_type.name.length == 0
50
- raise CucumberExpressionError.new("The anonymous parameter type has already been defined")
60
+ raise CucumberExpressionError.new('The anonymous parameter type has already been defined')
51
61
  else
52
62
  raise CucumberExpressionError.new("There is already a parameter with name #{parameter_type.name}")
53
63
  end
@@ -57,14 +67,16 @@ module Cucumber
57
67
 
58
68
  parameter_type.regexps.each do |parameter_type_regexp|
59
69
  parameter_types = @parameter_types_by_regexp[parameter_type_regexp]
60
- if parameter_types.any? && parameter_types[0].prefer_for_regexp_match? && parameter_type.prefer_for_regexp_match?
61
- raise CucumberExpressionError.new("There can only be one preferential parameter type per regexp. The regexp /#{parameter_type_regexp}/ is used for two preferential parameter types, {#{parameter_types[0].name}} and {#{parameter_type.name}}")
70
+ if parameter_types.any? && parameter_types[0].prefer_for_regexp_match && parameter_type.prefer_for_regexp_match
71
+ raise CucumberExpressionError.new(
72
+ "There can only be one preferential parameter type per regexp. The regexp /#{parameter_type_regexp}/ is used for two: {#{parameter_types[0].name}} and {#{parameter_type.name}}"
73
+ )
62
74
  end
75
+
63
76
  parameter_types.push(parameter_type)
64
77
  parameter_types.sort!
65
78
  end
66
79
  end
67
-
68
80
  end
69
81
  end
70
82
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'cucumber/cucumber_expressions/argument'
2
4
  require 'cucumber/cucumber_expressions/parameter_type'
3
5
  require 'cucumber/cucumber_expressions/tree_regexp'
@@ -5,7 +7,6 @@ require 'cucumber/cucumber_expressions/tree_regexp'
5
7
  module Cucumber
6
8
  module CucumberExpressions
7
9
  class RegularExpression
8
-
9
10
  def initialize(expression_regexp, parameter_type_registry)
10
11
  @expression_regexp = expression_regexp
11
12
  @parameter_type_registry = parameter_type_registry
@@ -23,7 +24,7 @@ module Cucumber
23
24
  nil,
24
25
  parameter_type_regexp,
25
26
  String,
26
- lambda {|*s| s[0]},
27
+ ->(*s) { s[0] },
27
28
  false,
28
29
  false
29
30
  )
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'cucumber/cucumber_expressions/group_builder'
2
4
  require 'cucumber/cucumber_expressions/errors'
3
5
 
@@ -8,68 +10,74 @@ module Cucumber
8
10
 
9
11
  def initialize(regexp)
10
12
  @regexp = regexp.is_a?(Regexp) ? regexp : Regexp.new(regexp)
11
- @stack = [GroupBuilder.new]
13
+ @group_builder = create_group_builder(@regexp)
14
+ end
15
+
16
+ def match(s)
17
+ match = @regexp.match(s)
18
+ return nil if match.nil?
19
+
20
+ group_indices = (0..match.length).to_a.to_enum
21
+ @group_builder.build(match, group_indices)
22
+ end
23
+
24
+ private def is_non_capturing(source, i)
25
+ # Regex is valid. Bounds check not required.
26
+ if source[i + 1] != '?'
27
+ # (X)
28
+ return false
29
+ end
30
+
31
+ if source[i + 2] != '<'
32
+ # (?:X)
33
+ # (?idmsuxU-idmsuxU)
34
+ # (?idmsux-idmsux:X)
35
+ # (?=X)
36
+ # (?!X)
37
+ # (?>X)
38
+ return true
39
+ end
40
+
41
+ if source[i + 3] == '=' || source[i + 3] == '!'
42
+ # (?<=X)
43
+ # (?<!X)
44
+ return true
45
+ end
46
+
47
+ # (?<name>X)
48
+ raise CucumberExpressionError.new('Named capture groups are not supported. See https://github.com/cucumber/cucumber/issues/329')
49
+ end
50
+
51
+ private def create_group_builder(regexp)
52
+ source = regexp.source
53
+ stack = [GroupBuilder.new]
12
54
  group_start_stack = []
13
- last = nil
14
55
  escaping = false
15
- @non_capturing_maybe = false
16
- @name_capturing_maybe = false
17
56
  char_class = false
18
-
19
- @regexp.source.each_char.with_index do |c, n|
57
+ source.each_char.with_index do |c, i|
20
58
  if c == '[' && !escaping
21
59
  char_class = true
22
60
  elsif c == ']' && !escaping
23
61
  char_class = false
24
62
  elsif c == '(' && !escaping && !char_class
25
- @stack.push(GroupBuilder.new)
26
- group_start_stack.push(n + 1)
27
- @non_capturing_maybe = false
63
+ group_start_stack.push(i)
64
+ group_builder = GroupBuilder.new
65
+ non_capturing = is_non_capturing(source, i)
66
+ group_builder.set_non_capturing! if non_capturing
67
+ stack.push(group_builder)
28
68
  elsif c == ')' && !escaping && !char_class
29
- gb = @stack.pop
69
+ gb = stack.pop
30
70
  group_start = group_start_stack.pop
31
71
  if gb.capturing?
32
- gb.source = @regexp.source[group_start...n]
33
- @stack.last.add(gb)
72
+ gb.source = source[group_start + 1...i]
73
+ stack.last.add(gb)
34
74
  else
35
- gb.move_children_to(@stack.last)
75
+ gb.move_children_to(stack.last)
36
76
  end
37
- end_group
38
- elsif c == '?' && last == '('
39
- @non_capturing_maybe = true
40
- elsif (c == '<') && @non_capturing_maybe
41
- @name_capturing_maybe = true
42
- elsif (c == ':' || c == '!' || c == '=') && last == '?' && @non_capturing_maybe
43
- end_non_capturing_group
44
- elsif (c == '=' || c == '!') && last == '<' && @name_capturing_maybe
45
- end_non_capturing_group
46
- elsif @name_capturing_maybe
47
- raise CucumberExpressionError.new("Named capture groups are not supported. See https://github.com/cucumber/cucumber/issues/329")
48
77
  end
49
-
50
78
  escaping = c == '\\' && !escaping
51
- last = c
52
79
  end
53
- @group_builder = @stack.pop
54
- end
55
-
56
- def match(s)
57
- match = @regexp.match(s)
58
- return nil if match.nil?
59
- group_indices = (0..match.length).to_a.to_enum
60
- @group_builder.build(match, group_indices)
61
- end
62
-
63
- private
64
-
65
- def end_non_capturing_group
66
- @stack.last.set_non_capturing!
67
- end_group
68
- end
69
-
70
- def end_group
71
- @non_capturing_maybe = false
72
- @name_capturing_maybe = false
80
+ stack.pop
73
81
  end
74
82
  end
75
83
  end
metadata CHANGED
@@ -1,99 +1,128 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cucumber-cucumber-expressions
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.3.1
4
+ version: 19.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aslak Hellesøy
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2020-01-10 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
- name: rake
13
+ name: bigdecimal
15
14
  requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
- - - "~>"
16
+ - - ">="
18
17
  - !ruby/object:Gem::Version
19
- version: '13.0'
18
+ version: '0'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
20
23
  - - ">="
21
24
  - !ruby/object:Gem::Version
22
- version: 13.0.1
25
+ version: '0'
26
+ - !ruby/object:Gem::Dependency
27
+ name: rake
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '13.3'
23
33
  type: :development
24
34
  prerelease: false
25
35
  version_requirements: !ruby/object:Gem::Requirement
26
36
  requirements:
27
37
  - - "~>"
28
38
  - !ruby/object:Gem::Version
29
- version: '13.0'
30
- - - ">="
31
- - !ruby/object:Gem::Version
32
- version: 13.0.1
39
+ version: '13.3'
33
40
  - !ruby/object:Gem::Dependency
34
41
  name: rspec
35
42
  requirement: !ruby/object:Gem::Requirement
36
43
  requirements:
37
44
  - - "~>"
38
45
  - !ruby/object:Gem::Version
39
- version: '3.9'
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- version: 3.9.0
46
+ version: '3.13'
43
47
  type: :development
44
48
  prerelease: false
45
49
  version_requirements: !ruby/object:Gem::Requirement
46
50
  requirements:
47
51
  - - "~>"
48
52
  - !ruby/object:Gem::Version
49
- version: '3.9'
50
- - - ">="
53
+ version: '3.13'
54
+ - !ruby/object:Gem::Dependency
55
+ name: rubocop
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
51
59
  - !ruby/object:Gem::Version
52
- version: 3.9.0
60
+ version: 1.55.0
61
+ type: :development
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: 1.55.0
53
68
  - !ruby/object:Gem::Dependency
54
- name: coveralls
69
+ name: rubocop-performance
55
70
  requirement: !ruby/object:Gem::Requirement
56
71
  requirements:
57
72
  - - "~>"
58
73
  - !ruby/object:Gem::Version
59
- version: '0.8'
60
- - - ">="
74
+ version: 1.21.0
75
+ type: :development
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: 1.21.0
82
+ - !ruby/object:Gem::Dependency
83
+ name: rubocop-rake
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
61
87
  - !ruby/object:Gem::Version
62
- version: 0.8.23
88
+ version: 0.6.0
63
89
  type: :development
64
90
  prerelease: false
65
91
  version_requirements: !ruby/object:Gem::Requirement
66
92
  requirements:
67
93
  - - "~>"
68
94
  - !ruby/object:Gem::Version
69
- version: '0.8'
70
- - - ">="
95
+ version: 0.6.0
96
+ - !ruby/object:Gem::Dependency
97
+ name: rubocop-rspec
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: 3.0.0
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
71
108
  - !ruby/object:Gem::Version
72
- version: 0.8.23
109
+ version: 3.0.0
73
110
  description: Cucumber Expressions - a simpler alternative to Regular Expressions
74
111
  email: cukes@googlegroups.com
75
112
  executables: []
76
113
  extensions: []
77
114
  extra_rdoc_files: []
78
115
  files:
79
- - ".github/ISSUE_TEMPLATE.md"
80
- - ".github/PULL_REQUEST_TEMPLATE.md"
81
- - ".rspec"
82
- - ".rsync"
83
- - ".subrepo"
84
- - Gemfile
85
116
  - LICENSE
86
- - Makefile
87
- - README.md
88
- - Rakefile
89
- - cucumber-cucumber-expressions.gemspec
90
- - default.mk
91
- - examples.txt
92
117
  - lib/cucumber/cucumber_expressions/argument.rb
118
+ - lib/cucumber/cucumber_expressions/ast.rb
93
119
  - lib/cucumber/cucumber_expressions/combinatorial_generated_expression_factory.rb
94
120
  - lib/cucumber/cucumber_expressions/cucumber_expression.rb
95
121
  - lib/cucumber/cucumber_expressions/cucumber_expression_generator.rb
122
+ - lib/cucumber/cucumber_expressions/cucumber_expression_parser.rb
123
+ - lib/cucumber/cucumber_expressions/cucumber_expression_tokenizer.rb
96
124
  - lib/cucumber/cucumber_expressions/errors.rb
125
+ - lib/cucumber/cucumber_expressions/expression_factory.rb
97
126
  - lib/cucumber/cucumber_expressions/generated_expression.rb
98
127
  - lib/cucumber/cucumber_expressions/group.rb
99
128
  - lib/cucumber/cucumber_expressions/group_builder.rb
@@ -102,30 +131,15 @@ files:
102
131
  - lib/cucumber/cucumber_expressions/parameter_type_registry.rb
103
132
  - lib/cucumber/cucumber_expressions/regular_expression.rb
104
133
  - lib/cucumber/cucumber_expressions/tree_regexp.rb
105
- - scripts/update-gemspec
106
- - spec/capture_warnings.rb
107
- - spec/coverage.rb
108
- - spec/cucumber/cucumber_expressions/argument_spec.rb
109
- - spec/cucumber/cucumber_expressions/combinatorial_generated_expression_factory_test.rb
110
- - spec/cucumber/cucumber_expressions/cucumber_expression_generator_spec.rb
111
- - spec/cucumber/cucumber_expressions/cucumber_expression_regexp_spec.rb
112
- - spec/cucumber/cucumber_expressions/cucumber_expression_spec.rb
113
- - spec/cucumber/cucumber_expressions/custom_parameter_type_spec.rb
114
- - spec/cucumber/cucumber_expressions/expression_examples_spec.rb
115
- - spec/cucumber/cucumber_expressions/parameter_type_registry_spec.rb
116
- - spec/cucumber/cucumber_expressions/parameter_type_spec.rb
117
- - spec/cucumber/cucumber_expressions/regular_expression_spec.rb
118
- - spec/cucumber/cucumber_expressions/tree_regexp_spec.rb
119
- homepage: https://github.com/cucumber/cucumber-expressions-ruby#readme
134
+ homepage: https://github.com/cucumber/cucumber-expressions
120
135
  licenses:
121
136
  - MIT
122
137
  metadata:
123
138
  bug_tracker_uri: https://github.com/cucumber/cucumber/issues
124
- changelog_uri: https://github.com/cucumber/cucumber/blob/master/cucumber-expressions/CHANGELOG.md
125
- documentation_uri: https://cucumber.io/docs/cucumber/cucumber-expressions/
126
- mailing_list_uri: https://groups.google.com/forum/#!forum/cukes
127
- source_code_uri: https://github.com/cucumber/cucumber/blob/master/cucumber-expressions/ruby
128
- post_install_message:
139
+ changelog_uri: https://github.com/cucumber/cucumber-expressions/blob/main/CHANGELOG.md
140
+ documentation_uri: https://github.com/cucumber/cucumber-expressions#readme
141
+ mailing_list_uri: https://community.smartbear.com/category/cucumber/discussions/cucumberos
142
+ source_code_uri: https://github.com/cucumber/cucumber-expressions/tree/main/ruby
129
143
  rdoc_options:
130
144
  - "--charset=UTF-8"
131
145
  require_paths:
@@ -134,29 +148,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
134
148
  requirements:
135
149
  - - ">="
136
150
  - !ruby/object:Gem::Version
137
- version: '2.3'
151
+ version: '2.7'
138
152
  required_rubygems_version: !ruby/object:Gem::Requirement
139
153
  requirements:
140
154
  - - ">="
141
155
  - !ruby/object:Gem::Version
142
- version: '0'
156
+ version: 3.2.8
143
157
  requirements: []
144
- rubyforge_project:
145
- rubygems_version: 2.7.6.2
146
- signing_key:
158
+ rubygems_version: 3.6.9
147
159
  specification_version: 4
148
- summary: cucumber-expressions-8.3.1
149
- test_files:
150
- - spec/capture_warnings.rb
151
- - spec/coverage.rb
152
- - spec/cucumber/cucumber_expressions/argument_spec.rb
153
- - spec/cucumber/cucumber_expressions/combinatorial_generated_expression_factory_test.rb
154
- - spec/cucumber/cucumber_expressions/cucumber_expression_generator_spec.rb
155
- - spec/cucumber/cucumber_expressions/cucumber_expression_regexp_spec.rb
156
- - spec/cucumber/cucumber_expressions/cucumber_expression_spec.rb
157
- - spec/cucumber/cucumber_expressions/custom_parameter_type_spec.rb
158
- - spec/cucumber/cucumber_expressions/expression_examples_spec.rb
159
- - spec/cucumber/cucumber_expressions/parameter_type_registry_spec.rb
160
- - spec/cucumber/cucumber_expressions/parameter_type_spec.rb
161
- - spec/cucumber/cucumber_expressions/regular_expression_spec.rb
162
- - spec/cucumber/cucumber_expressions/tree_regexp_spec.rb
160
+ summary: cucumber-expressions-19.0.0
161
+ test_files: []
@@ -1,5 +0,0 @@
1
- PLEASE DO NOT CREATE ISSUES IN THIS REPO.
2
- THIS REPO IS A READ-ONLY MIRROR.
3
-
4
- Create your issue in the Cucumber monorepo instead:
5
- https://github.com/cucumber/cucumber/issues
@@ -1,5 +0,0 @@
1
- PLEASE DO NOT CREATE PULL REAUESTS IN THIS REPO.
2
- THIS REPO IS A READ-ONLY MIRROR.
3
-
4
- Create your pull request in the Cucumber monorepo instead:
5
- https://github.com/cucumber/cucumber/pulls
data/.rspec DELETED
@@ -1 +0,0 @@
1
- --color
data/.rsync DELETED
@@ -1,4 +0,0 @@
1
- ../../LICENSE LICENSE
2
- ../../.templates/github/ .github/
3
- ../../.templates/ruby/ .
4
- ../examples.txt examples.txt
data/.subrepo DELETED
@@ -1 +0,0 @@
1
- cucumber/cucumber-expressions-ruby
data/Gemfile DELETED
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
- source "https://rubygems.org"
3
- gemspec
data/Makefile DELETED
@@ -1 +0,0 @@
1
- include default.mk
data/README.md DELETED
@@ -1,5 +0,0 @@
1
- # Cucumber Expressions for Ruby
2
-
3
- [![Build Status](https://travis-ci.org/cucumber/cucumber-expressions-ruby.svg?branch=master)](https://travis-ci.org/cucumber/cucumber-expressions-ruby)
4
-
5
- [The docs are here](https://cucumber.io/docs/cucumber/cucumber-expressions/).
data/Rakefile DELETED
@@ -1,27 +0,0 @@
1
- # encoding: utf-8
2
- require 'rubygems'
3
- require 'bundler'
4
- Bundler::GemHelper.install_tasks
5
-
6
- $:.unshift File.expand_path("../lib", __FILE__)
7
-
8
- Dir['./rake/*.rb'].each do |f|
9
- require f
10
- end
11
-
12
- require "rspec/core/rake_task"
13
- RSpec::Core::RakeTask.new(:spec) do |t|
14
- t.ruby_opts = %w[-r./spec/coverage -w]
15
- end
16
-
17
- require_relative 'spec/capture_warnings'
18
- include CaptureWarnings
19
- namespace :spec do
20
- task :warnings do
21
- report_warnings do
22
- Rake::Task['spec'].invoke
23
- end
24
- end
25
- end
26
-
27
- task default: ['spec:warnings']
@@ -1,33 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
- Gem::Specification.new do |s|
3
- s.name = 'cucumber-cucumber-expressions'
4
- s.version = '8.3.1'
5
- s.authors = ["Aslak Hellesøy"]
6
- s.description = 'Cucumber Expressions - a simpler alternative to Regular Expressions'
7
- s.summary = "cucumber-expressions-#{s.version}"
8
- s.email = 'cukes@googlegroups.com'
9
- s.homepage = "https://github.com/cucumber/cucumber-expressions-ruby#readme"
10
- s.platform = Gem::Platform::RUBY
11
- s.license = "MIT"
12
- s.required_ruby_version = ">= 2.3"
13
-
14
- s.metadata = {
15
- 'bug_tracker_uri' => 'https://github.com/cucumber/cucumber/issues',
16
- 'changelog_uri' => 'https://github.com/cucumber/cucumber/blob/master/cucumber-expressions/CHANGELOG.md',
17
- 'documentation_uri' => 'https://cucumber.io/docs/cucumber/cucumber-expressions/',
18
- 'mailing_list_uri' => 'https://groups.google.com/forum/#!forum/cukes',
19
- 'source_code_uri' => 'https://github.com/cucumber/cucumber/blob/master/cucumber-expressions/ruby',
20
- }
21
-
22
- s.add_development_dependency 'rake', '~> 13.0', '>= 13.0.1'
23
- s.add_development_dependency 'rspec', '~> 3.9', '>= 3.9.0'
24
-
25
- # For coverage reports
26
- s.add_development_dependency 'coveralls', '~> 0.8', '>= 0.8.23'
27
-
28
- s.rubygems_version = ">= 1.6.1"
29
- s.files = `git ls-files`.split("\n").reject {|path| path =~ /\.gitignore$/ }
30
- s.test_files = `git ls-files -- spec/*`.split("\n")
31
- s.rdoc_options = ["--charset=UTF-8"]
32
- s.require_path = "lib"
33
- end