parspec 0.0.1 → 1.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,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- Y2RjNGMzNzc3MDhmMDU5OGJjMTQyOGIyNWJjNjNmODc5NmY0ZGVmMQ==
5
- data.tar.gz: !binary |-
6
- ZjJmOTAzZDM3OGMyNmYxMDkyZGNlODFiMjllNGFhZTVlYjEyYzY0Nw==
2
+ SHA1:
3
+ metadata.gz: a3516c885084ffddd3b46a2af4bc93ac8914f98f
4
+ data.tar.gz: d6ddbc77f01ce14afc524a4d0d96a38c8e239f9c
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- NTViMWMxNTJmYmRhMjljZDZkNGEzZjc1OTlhNmVmOTA2ODYwNWU2Y2I4N2My
10
- ZjdmMDA1NWZhODQ1ZDM0YWNmMTkwODg2MGNiMjYyODNhNTlmY2ZhZmRlNzlj
11
- ZjU4MGNhOTY1ODcyMDEyNzRlN2E5MmM0NjA2NWE4Y2E5YjNiNGQ=
12
- data.tar.gz: !binary |-
13
- MjBhMThmMWNiNjY4NzcxMmEyNGIxMzM3ODhlZDFhMmU1ZjIzZjE4ODlmYjE3
14
- YTYxOGY4Y2MxN2MwNzA2ZTEyNzJjMmEyZTllMTQzYWRmYjY4ODUzMDdlM2E0
15
- MjU0ODEyMWM5ZTRhZDkwMTIxYWFhNGFkMzBjMTZkZjgyYmVjNzI=
6
+ metadata.gz: 38f184806b33c5dc01ed232e02b87bdd4affc32127060756af394cd239798d83e34c10eff1a7b43943e0cd5cdb213864d9e53547eec60eb1ff6afabcccdaf898
7
+ data.tar.gz: b99de120a1bb8af2faa5190b9b118de9c3a62f33d555bcfc4ba28c8afb3d29ef83de0f42f38c2cc900a22e837371f5a24a81fb577e1ca5a251e2330933754238
@@ -0,0 +1,28 @@
1
+ root = true
2
+
3
+ [*]
4
+ charset = utf-8
5
+ end_of_line = lf
6
+ insert_final_newline = true
7
+ trim_trailing_whitespace = true
8
+
9
+ [*.yml]
10
+ indent_style = space
11
+ indent_size = 2
12
+
13
+ [*.rb]
14
+ indent_style = space
15
+ indent_size = 2
16
+
17
+ [*.rake]
18
+ indent_style = space
19
+ indent_size = 2
20
+
21
+ [*.parspec]
22
+ indent_style = space
23
+ indent_size = 4
24
+
25
+ [*.md]
26
+ indent_style = space
27
+ indent_size = 2
28
+ trim_trailing_whitespace = false
data/README.md CHANGED
@@ -1,238 +1,246 @@
1
- # Parspec
2
-
3
- A [gUnit](https://theantlrguy.atlassian.net/wiki/display/ANTLR3/gUnit+-+Grammar+Unit+Testing)-like specification language for [Parslet](http://kschiess.github.io/parslet/) parsers and transformers, which translates to [RSpec](http://rspec.info/).
4
-
5
-
6
- ## Installation
7
-
8
- Add this line to your application's Gemfile:
9
-
10
- ```ruby
11
- gem 'parspec', group: :test
12
- ```
13
-
14
- And then execute:
15
-
16
- $ bundle
17
-
18
- Or install with gem:
19
-
20
- $ gem install parspec
21
-
22
-
23
- ## Specification language
24
-
25
- ### Example
26
-
27
- The following example shows parts of the [TOML spec](https://github.com/zerowidth/toml-parslet/blob/master/spec/toml/parser_spec.rb) translated to Parspec:
28
-
29
- parser TOML::Parser
30
-
31
- value:
32
- "120381" OK
33
- "0181" FAIL
34
- "3.14159" OK
35
- ".1" FAIL
36
- "true" OK
37
- "truefalse" FAIL
38
- "1979-05-27T07:32:00Z" OK
39
- "1979l05-27 07:32:00" FAIL
40
- "\"hello world\"" OK
41
- "\"hello\nworld\"" FAIL
42
- "\"hello/world\"" FAIL
43
-
44
- "1234" -> ":integer => '1234'"
45
- "-0.123" -> ":float => '-0.123'"
46
- "true" -> ":boolean => 'true'"
47
- "1979-05-27T07:32:00Z" -> ":datetime => '1979-05-27T07:32:00Z'"
48
- "\"hello world\"" -> ":string => 'hello world'"
49
- "\"hello\nworld\"" -> ":string => \"hello\nworld\""
50
-
51
- array:
52
- "[]" OK
53
- "[1]" OK
54
- "[0.1, -0.1, 3.14159]" OK
55
- "[ true, false, true, true ]" OK
56
- "[1979-05-27T07:32:00Z]" OK # [2013-02-24T17:26:21Z]
57
- "[\n1\n,\n2\n]" OK
58
- "[\n\n\t1 , 2, 3\\t,4\n]" OK
59
- "[1, 2, \"three\"]" FAIL
60
- "[1,2,]" OK
61
- "[1,2\n,\\t]" OK
62
-
63
- "[1,2]" -> ":array => [ {:integer => '1'}, {:integer => '2'}]"
64
- "[]" -> ":array => '[]'"
65
- "[ [1,2] ]"
66
- -> ":array => [
67
- {:array => [ {:integer => '1'}, {:integer => '2'}]}
68
- ]"
69
-
70
- key:
71
- "foobar" OK
72
- "lolwhat.noWAY" OK
73
- "no white\\tspace" FAIL
74
- "noequal=thing" FAIL
75
-
76
- assignment:
77
- "key=3.14" OK
78
- "key = 10" OK
79
- "key = true" OK
80
- "key = \"value\"" OK
81
- "#comment=1" FAIL
82
- "thing = 1" -> ":key => 'thing', :value => {:integer => '1'}"
83
-
84
-
85
- ### Description
86
-
87
- #### Header
88
-
89
- A Parspec specification starts with a definition of the subject:
90
-
91
- <type> <instantiation expression>
92
-
93
- There are two types of specifications: `parser` and `transformer`. A parser specification describes a `Parslet::Parser`, a transformer specification describes a `Parslet::Transform`. Syntactically these types of specifications are equal, but the generated RSpec descriptions will differ.
94
-
95
- The instantiation expression is used to create a RSpec test subject. It usually consists of a constant for a `Parslet::Parser` or `Parslet::Transform` class, according to the type of specification, but can be any valid Ruby expression, which responds to `new` with a `Parslet::Parser` or `Parslet::Tranform` instance.
96
-
97
-
98
- #### Rule examples
99
-
100
- After the definition, a series of examples for the grammar rules follows. Rules start with a rule name followed by a colon.
101
-
102
- There are two types of examples: simple validations and mapping examples.
103
-
104
-
105
- ##### Validations
106
-
107
- A validation is a string in double-quotes followed either by the keyword `OK` or `FAIL`, according to the expected outcome of parsing the given string under the given rule. Currently, it is supported in parser specifications only.
108
-
109
- For example, the following validation:
110
-
111
- some_rule:
112
- "some input" OK
113
- "another input" FAIL
114
-
115
- will translate to this RSpec description:
116
-
117
- ```ruby
118
- context 'some_rule parsing' do
119
- subject { parser.some_rule }
120
-
121
- it { should parse 'some input' }
122
- it { should_not parse 'another input' }
123
- end
124
- ```
125
-
126
-
127
- ##### Mapping examples
128
-
129
- Mapping examples describe the input-output-behaviour of a rule. Syntactically they consist of two strings separated by `->`. Since the semantics of parser and transformer specifications differ, let's discuss them separately, starting with the parser case:
130
-
131
- While the input string on the left side is simply some sample text as in a validity example, the output string on the right must contain a valid Ruby expression, which should evaluate to the expected outcome of the respective rule parsing.
132
-
133
- For example, the following mapping:
134
-
135
- some_rule:
136
- "some input" -> "42"
137
- "another input" -> "{ foo: 'bar' }"
138
-
139
- will be translated to the following RSpec parser specification:
140
-
141
- ```ruby
142
- context 'some_rule parsing' do
143
- subject { parser.some_rule }
144
-
145
- it "should parse 'some input' to 42" do
146
- expect(subject.parse('some input')).to eq 42
147
- end
148
-
149
- it "should parse 'another input' to { foo: 'bar' }" do
150
- expect(subject.parse('another input')).to eq { foo: 'bar' }
151
- end
152
- end
153
- ```
154
-
155
- In the case of a transformer specification, both sides must contain Ruby expressions.
156
-
157
-
158
- #### Shared examples
159
-
160
- The examples of a rule can be reused inside other rules with the `include` keyword:
161
-
162
- some_rule:
163
- "some input" -> "42"
164
- "another input" -> "{ foo: 'bar' }"
165
-
166
- another_rule:
167
- include some_rule
168
-
169
-
170
- #### String escaping
171
-
172
- Parspec strings in general support the following escape sequences: `\t`, `\n`, `\r`, `\"`, `\\`.
173
-
174
-
175
- #### Comments
176
-
177
- One-line comments are supported in the `#`-style.
178
-
179
-
180
- ## Usage
181
-
182
- ### Command-line interface
183
-
184
- Parspec comes with a command-line interface through the `parspec` command.
185
-
186
- For a full description of the available parameters, run:
187
-
188
- $ parspec --help
189
- Usage: parspec [options] PARSPEC_FILE
190
- -h, --help Display this information
191
- -v, --version Print version information
192
- -s, --stdout Print the translation to stdout only
193
- -o, --out OUTPUT_FILE Path where translated RSpec file should be stored
194
- -b, --beside-input Put the output file into the same directory as the input
195
- -e, --header HEADER A block of code to be put in front of the translation
196
- --no-debug-parse Don't print the whole Parslet ascii_tree on errors
197
-
198
- Unless specified otherwise, the default header is:
199
-
200
- ```ruby
201
- # coding: utf-8
202
- require 'spec_helper'
203
- require 'parslet/convenience'
204
- require 'parslet/rig/rspec'
205
- ```
206
-
207
-
208
- ### `load_parspec`
209
-
210
- You can use the command-line interface to integrate Parspec in your testing tool chain, e.g. via Rake or Guard.
211
-
212
- But you can also load your Parspec spec from a normal Ruby file in your spec directory with the `load_parspec` command:
213
-
214
- ```ruby
215
- require 'spec_helper'
216
- require 'parspec'
217
- require 'my_parser'
218
-
219
- load_parspec __FILE__
220
- ```
221
-
222
- If the `load_parspec` command gets a filename with the extension `.rb`, it looks for a file with the same name, but the extension `.parspec`. For example, if the former Ruby file would be at `spec/my_parser/my_parser_spec.rb`, the `load_parspec` command would try to load a Parspec spec from a file `spec/my_parser/my_parser_spec.parspec`.
223
-
224
-
225
- Note: This feature is currently implemented via `eval`, till I find a way to include specs from other RSpec files or another alternative. If you have any advice, please share it in issue #1.
226
-
227
-
228
- ## Contributing
229
-
230
- 1. Fork it ( https://github.com/marcelotto/parspec/fork )
231
- 2. Create your feature branch (`git checkout -b my-new-feature`)
232
- 3. Commit your changes (`git commit -am 'Add some feature'`)
233
- 4. Push to the branch (`git push origin my-new-feature`)
234
- 5. Create a new Pull Request
235
-
236
- ## Author
237
-
238
- - Marcel Otto
1
+ # Parspec
2
+
3
+ A [gUnit](https://theantlrguy.atlassian.net/wiki/display/ANTLR3/gUnit+-+Grammar+Unit+Testing)-like specification language for [Parslet](http://kschiess.github.io/parslet/) parsers and transformers, which gets translated to [RSpec](http://rspec.info/) specs.
4
+
5
+
6
+ ## Status
7
+
8
+ This software is feature-complete, since it realizes the features of [gUnit](https://theantlrguy.atlassian.net/wiki/display/ANTLR3/gUnit+-+Grammar+Unit+Testing) (with some additions) completely and can successfully be used as a full [gUnit](https://theantlrguy.atlassian.net/wiki/display/ANTLR3/gUnit+-+Grammar+Unit+Testing)-like replacement of handmade [RSpec](http://rspec.info/) specs, while still using the excellent RSpec testing platform, allowing to integrate the generated specs with handmade RSpec specs.
9
+
10
+ Although some nice language additions are thinkable, I won't implement them in the near future, until I need them.
11
+
12
+
13
+
14
+ ## Installation
15
+
16
+ Add this line to your application's Gemfile:
17
+
18
+ ```ruby
19
+ gem 'parspec', group: :test
20
+ ```
21
+
22
+ And then execute:
23
+
24
+ $ bundle
25
+
26
+ Or install with gem:
27
+
28
+ $ gem install parspec
29
+
30
+
31
+ ## Specification language
32
+
33
+ ### Example
34
+
35
+ The following example shows parts of the [TOML spec](https://github.com/zerowidth/toml-parslet/blob/master/spec/toml/parser_spec.rb) translated to Parspec:
36
+
37
+ parser TOML::Parser
38
+
39
+ value:
40
+ "120381" OK
41
+ "0181" FAIL
42
+ "3.14159" OK
43
+ ".1" FAIL
44
+ "true" OK
45
+ "truefalse" FAIL
46
+ "1979-05-27T07:32:00Z" OK
47
+ "1979l05-27 07:32:00" FAIL
48
+ "\"hello world\"" OK
49
+ "\"hello\nworld\"" FAIL
50
+ "\"hello/world\"" FAIL
51
+
52
+ "1234" -> ":integer => '1234'"
53
+ "-0.123" -> ":float => '-0.123'"
54
+ "true" -> ":boolean => 'true'"
55
+ "1979-05-27T07:32:00Z" -> ":datetime => '1979-05-27T07:32:00Z'"
56
+ "\"hello world\"" -> ":string => 'hello world'"
57
+ "\"hello\nworld\"" -> ":string => \"hello\nworld\""
58
+
59
+ array:
60
+ "[]" OK
61
+ "[1]" OK
62
+ "[0.1, -0.1, 3.14159]" OK
63
+ "[ true, false, true, true ]" OK
64
+ "[1979-05-27T07:32:00Z]" OK # [2013-02-24T17:26:21Z]
65
+ "[\n1\n,\n2\n]" OK
66
+ "[\n\n\t1 , 2, 3\\t,4\n]" OK
67
+ "[1, 2, \"three\"]" FAIL
68
+ "[1,2,]" OK
69
+ "[1,2\n,\\t]" OK
70
+
71
+ "[1,2]" -> ":array => [ {:integer => '1'}, {:integer => '2'}]"
72
+ "[]" -> ":array => '[]'"
73
+ "[ [1,2] ]"
74
+ -> ":array => [
75
+ {:array => [ {:integer => '1'}, {:integer => '2'}]}
76
+ ]"
77
+
78
+ key:
79
+ "foobar" OK
80
+ "lolwhat.noWAY" OK
81
+ "no white\\tspace" FAIL
82
+ "noequal=thing" FAIL
83
+
84
+ assignment:
85
+ "key=3.14" OK
86
+ "key = 10" OK
87
+ "key = true" OK
88
+ "key = \"value\"" OK
89
+ "#comment=1" FAIL
90
+ "thing = 1" -> ":key => 'thing', :value => {:integer => '1'}"
91
+
92
+
93
+ ### Description
94
+
95
+ #### Header
96
+
97
+ A Parspec specification starts with a definition of the subject:
98
+
99
+ <type> <instantiation expression>
100
+
101
+ There are two types of specifications: `parser` and `transformer`. A parser specification describes a `Parslet::Parser`, a transformer specification describes a `Parslet::Transform`. Syntactically these types of specifications are equal, but the generated RSpec descriptions will differ.
102
+
103
+ The instantiation expression is used to create a RSpec test subject. It usually consists of a constant for a `Parslet::Parser` or `Parslet::Transform` class, according to the type of specification, but can be any valid Ruby expression, which responds to `new` with a `Parslet::Parser` or `Parslet::Tranform` instance.
104
+
105
+
106
+ #### Rule examples
107
+
108
+ After the definition, a series of examples for the grammar rules follows. Rules start with a rule name followed by a colon.
109
+
110
+ There are two types of examples: validations and mapping examples.
111
+
112
+
113
+ ##### Validations
114
+
115
+ A validation is a string in double-quotes followed either by the keyword `OK` or `FAIL`, according to the expected outcome of parsing the given string under the given rule. Currently, it is supported in parser specifications only.
116
+
117
+ For example, the following validation:
118
+
119
+ some_rule:
120
+ "some input" OK
121
+ "another input" FAIL
122
+
123
+ will translate to this RSpec description:
124
+
125
+ ```ruby
126
+ context 'some_rule parsing' do
127
+ subject { parser.some_rule }
128
+
129
+ it { should parse 'some input' }
130
+ it { should_not parse 'another input' }
131
+ end
132
+ ```
133
+
134
+
135
+ ##### Mapping examples
136
+
137
+ Mapping examples describe the input-output-behaviour of a rule. Syntactically they consist of two strings separated by `->`. Since the semantics of parser and transformer specifications differ, let's discuss them separately, starting with the parser case:
138
+
139
+ While the input string on the left side is simply some sample text as in a validity example, the output string on the right must contain a valid Ruby expression, which should evaluate to the expected outcome of the respective rule parsing.
140
+
141
+ For example, the following mapping:
142
+
143
+ some_rule:
144
+ "some input" -> "42"
145
+ "another input" -> "{ foo: 'bar' }"
146
+
147
+ will be translated to the following RSpec parser specification:
148
+
149
+ ```ruby
150
+ context 'some_rule parsing' do
151
+ subject { parser.some_rule }
152
+
153
+ it "should parse 'some input' to 42" do
154
+ expect(subject.parse('some input')).to eq 42
155
+ end
156
+
157
+ it "should parse 'another input' to { foo: 'bar' }" do
158
+ expect(subject.parse('another input')).to eq { foo: 'bar' }
159
+ end
160
+ end
161
+ ```
162
+
163
+ In the case of a transformer specification, both sides must contain Ruby expressions.
164
+
165
+
166
+ #### Shared examples
167
+
168
+ The examples of a rule can be reused inside other rules with the `include` keyword:
169
+
170
+ some_rule:
171
+ "some input" -> "42"
172
+ "another input" -> "{ foo: 'bar' }"
173
+
174
+ another_rule:
175
+ include some_rule
176
+
177
+
178
+ #### String escaping
179
+
180
+ Parspec strings in general support the following escape sequences: `\t`, `\n`, `\r`, `\"`, `\\`.
181
+
182
+
183
+ #### Comments
184
+
185
+ One-line comments are supported in the `#`-style.
186
+
187
+
188
+ ## Usage
189
+
190
+ ### Command-line interface
191
+
192
+ Parspec comes with a command-line interface through the `parspec` command.
193
+
194
+ For a full description of the available parameters, run:
195
+
196
+ $ parspec --help
197
+ Usage: parspec [options] PARSPEC_FILE
198
+ -h, --help Display this information
199
+ -v, --version Print version information
200
+ -s, --stdout Print the translation to stdout only
201
+ -o, --out OUTPUT_FILE Path where translated RSpec file should be stored
202
+ -b, --beside-input Put the output file into the same directory as the input
203
+ -e, --header HEADER A block of code to be put in front of the translation
204
+ --no-debug-parse Don't print the whole Parslet ascii_tree on errors
205
+
206
+ Unless specified otherwise, the default header is:
207
+
208
+ ```ruby
209
+ # coding: utf-8
210
+ require 'spec_helper'
211
+ require 'parslet/convenience'
212
+ require 'parslet/rig/rspec'
213
+ ```
214
+
215
+
216
+ ### `load_parspec`
217
+
218
+ You can use the command-line interface to integrate Parspec in your testing tool chain, e.g. via Rake or Guard.
219
+
220
+ But you can also load your Parspec spec from a normal Ruby file in your spec directory with the `load_parspec` command:
221
+
222
+ ```ruby
223
+ require 'spec_helper'
224
+ require 'parspec'
225
+ require 'my_parser'
226
+
227
+ load_parspec __FILE__
228
+ ```
229
+
230
+ If the `load_parspec` command gets a filename with the extension `.rb`, it looks for a file with the same name, but the extension `.parspec`. For example, if the former Ruby file would be at `spec/my_parser/my_parser_spec.rb`, the `load_parspec` command would try to load a Parspec spec from a file `spec/my_parser/my_parser_spec.parspec`.
231
+
232
+
233
+ Note: This feature is currently implemented via `eval`, till I find a way to include specs from other RSpec files or another alternative. If you have any advice, please share it in issue #1.
234
+
235
+
236
+ ## Contributing
237
+
238
+ 1. Fork it ( https://github.com/marcelotto/parspec/fork )
239
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
240
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
241
+ 4. Push to the branch (`git push origin my-new-feature`)
242
+ 5. Create a new Pull Request
243
+
244
+ ## Author
245
+
246
+ - Marcel Otto
File without changes
@@ -1,3 +1,3 @@
1
1
  module Parspec
2
- VERSION = '0.0.1'
2
+ VERSION = '1.0.0'
3
3
  end
@@ -8,7 +8,7 @@ Gem::Specification.new do |spec|
8
8
  spec.version = Parspec::VERSION
9
9
  spec.authors = ['Marcel Otto']
10
10
  spec.email = ['marcelotto.de@gmail.com']
11
- spec.summary = %q{Testing of Parslet grammars and transformations}
11
+ spec.summary = %q{Testing-Framework for Parslet grammars and transformations}
12
12
  spec.description = %q{A specification language for Parslet grammars and transformers, which gets translated to RSpec.}
13
13
  spec.homepage = 'http://github.com/marcelotto/parspec'
14
14
  spec.license = 'MIT'
metadata CHANGED
@@ -1,69 +1,69 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: parspec
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marcel Otto
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-24 00:00:00.000000000 Z
11
+ date: 2015-02-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parslet
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ! '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '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
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rspec
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '3.0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '3.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '1.7'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.7'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '10.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '10.0'
69
69
  description: A specification language for Parslet grammars and transformers, which
@@ -75,8 +75,9 @@ executables:
75
75
  extensions: []
76
76
  extra_rdoc_files: []
77
77
  files:
78
- - .gitignore
79
- - .rspec
78
+ - ".editorconfig"
79
+ - ".gitignore"
80
+ - ".rspec"
80
81
  - Gemfile
81
82
  - Guardfile
82
83
  - LICENSE.txt
@@ -105,21 +106,20 @@ require_paths:
105
106
  - lib
106
107
  required_ruby_version: !ruby/object:Gem::Requirement
107
108
  requirements:
108
- - - ! '>='
109
+ - - ">="
109
110
  - !ruby/object:Gem::Version
110
111
  version: '0'
111
112
  required_rubygems_version: !ruby/object:Gem::Requirement
112
113
  requirements:
113
- - - ! '>='
114
+ - - ">="
114
115
  - !ruby/object:Gem::Version
115
116
  version: '0'
116
117
  requirements: []
117
118
  rubyforge_project:
118
- rubygems_version: 2.1.9
119
+ rubygems_version: 2.4.5
119
120
  signing_key:
120
121
  specification_version: 4
121
- summary: Testing of Parslet grammars and transformations
122
+ summary: Testing-Framework for Parslet grammars and transformations
122
123
  test_files:
123
124
  - spec/parspec/parser_spec.rb
124
125
  - spec/spec_helper.rb
125
- has_rdoc: