cuke_modeler 3.0.0 → 3.1.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.md +13 -1
- data/cuke_modeler.gemspec +1 -1
- data/lib/cuke_modeler/adapters/gherkin_14_adapter.rb +12 -0
- data/lib/cuke_modeler/parsing.rb +3 -3
- data/lib/cuke_modeler/version.rb +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3287a6e2f6cc9ce0269ce039535fe37bbe9be5bc6251c170efd87bdfa6d25b5e
|
4
|
+
data.tar.gz: 9413347eaf273b881e62dd792a1a7110ccf30d89ee7ed1620ae53c882008310b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cc3d0ee5ca02ca1b81fd3784e471488952c8e5fe88401ce12ea0e10360b32a667b80934db8480aeae7936463ddc9c04ff0a02702d88ef0eaf6957b69a16680c5
|
7
|
+
data.tar.gz: 4af05a8b47ab76911764ebef5f10524c525a8c88852193bd928ac868e779cb4244fa540f7978df08fa58af602e53f0b6db5fb515d216f40117e58f939d49f8c9
|
data/CHANGELOG.md
CHANGED
@@ -8,6 +8,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
8
8
|
|
9
9
|
Nothing yet...
|
10
10
|
|
11
|
+
## [3.1.0] - 2020-06-28
|
12
|
+
|
13
|
+
### Added
|
14
|
+
- Support added for more versions of the `cucumber-gherkin` gem
|
15
|
+
- 14.x
|
16
|
+
|
17
|
+
### Fixed
|
18
|
+
- Text is converted to UTF-8 encoding before being passed to the underlying Gherkin gem. This is due to UTF-8 being
|
19
|
+
the only encoding supported by Gherkin. The `gherkin` gem did the conversion automatically but the `cucumber-gherkin`
|
20
|
+
gem does not.
|
21
|
+
|
11
22
|
## [3.0.0] - 2020-06-08
|
12
23
|
|
13
24
|
### Changed
|
@@ -303,7 +314,8 @@ Nothing yet...
|
|
303
314
|
- Initial release
|
304
315
|
|
305
316
|
|
306
|
-
[Unreleased]: https://github.com/enkessler/cuke_modeler/compare/v3.
|
317
|
+
[Unreleased]: https://github.com/enkessler/cuke_modeler/compare/v3.1.0...HEAD
|
318
|
+
[3.1.0]: https://github.com/enkessler/cuke_modeler/compare/v3.0.0...v3.1.0
|
307
319
|
[3.0.0]: https://github.com/enkessler/cuke_modeler/compare/v2.1.0...v3.0.0
|
308
320
|
[2.1.0]: https://github.com/enkessler/cuke_modeler/compare/v2.0.0...v2.1.0
|
309
321
|
[2.0.0]: https://github.com/enkessler/cuke_modeler/compare/v1.5.1...v2.0.0
|
data/cuke_modeler.gemspec
CHANGED
@@ -24,7 +24,7 @@ Gem::Specification.new do |spec|
|
|
24
24
|
|
25
25
|
spec.required_ruby_version = '>= 2.3', '< 3.0'
|
26
26
|
|
27
|
-
spec.add_runtime_dependency 'cucumber-gherkin', '<
|
27
|
+
spec.add_runtime_dependency 'cucumber-gherkin', '< 15.0'
|
28
28
|
|
29
29
|
spec.add_development_dependency 'bundler', '< 3.0'
|
30
30
|
spec.add_development_dependency "rake", '< 13.0.0'
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require_relative 'gherkin_9_adapter'
|
2
|
+
|
3
|
+
|
4
|
+
module CukeModeler
|
5
|
+
|
6
|
+
# NOT A PART OF THE PUBLIC API
|
7
|
+
# An adapter that can convert the output of version 14.x of the *cucumber-gherkin* gem into input that is consumable by this gem.
|
8
|
+
|
9
|
+
class Gherkin14Adapter < Gherkin9Adapter
|
10
|
+
|
11
|
+
end
|
12
|
+
end
|
data/lib/cuke_modeler/parsing.rb
CHANGED
@@ -17,7 +17,7 @@ gherkin_version = Gem.loaded_specs['cucumber-gherkin'].version.version
|
|
17
17
|
gherkin_major_version = gherkin_version.match(/^(\d+)\./)[1].to_i
|
18
18
|
|
19
19
|
case gherkin_major_version
|
20
|
-
when 9, 10, 11, 12, 13
|
20
|
+
when 9, 10, 11, 12, 13, 14
|
21
21
|
# Currently nothing else to load beyond the entry point to the gem
|
22
22
|
else
|
23
23
|
raise("Unknown Gherkin version: '#{gherkin_version}'")
|
@@ -59,7 +59,7 @@ module CukeModeler
|
|
59
59
|
raise(ArgumentError, "Text to parse must be a String but got #{source_text.class}") unless source_text.is_a?(String)
|
60
60
|
|
61
61
|
begin
|
62
|
-
parsed_result = parsing_method(source_text, filename)
|
62
|
+
parsed_result = parsing_method(source_text.encode('UTF-8'), filename)
|
63
63
|
rescue => e
|
64
64
|
raise(ArgumentError, "Error encountered while parsing '#{filename}'\n#{e.class} - #{e.message}")
|
65
65
|
end
|
@@ -72,7 +72,7 @@ module CukeModeler
|
|
72
72
|
gherkin_major_version = gherkin_version.match(/^(\d+)\./)[1].to_i
|
73
73
|
|
74
74
|
case gherkin_major_version
|
75
|
-
when 13
|
75
|
+
when 13, 14
|
76
76
|
# todo - make these methods private?
|
77
77
|
# NOT A PART OF THE PUBLIC API
|
78
78
|
# The method to use for parsing Gherkin text
|
data/lib/cuke_modeler/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cuke_modeler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric Kessler
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-06-
|
11
|
+
date: 2020-06-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cucumber-gherkin
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "<"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '15.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "<"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '15.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -172,6 +172,7 @@ files:
|
|
172
172
|
- lib/cuke_modeler/adapters/gherkin_11_adapter.rb
|
173
173
|
- lib/cuke_modeler/adapters/gherkin_12_adapter.rb
|
174
174
|
- lib/cuke_modeler/adapters/gherkin_13_adapter.rb
|
175
|
+
- lib/cuke_modeler/adapters/gherkin_14_adapter.rb
|
175
176
|
- lib/cuke_modeler/adapters/gherkin_9_adapter.rb
|
176
177
|
- lib/cuke_modeler/containing.rb
|
177
178
|
- lib/cuke_modeler/described.rb
|