parspec 0.0.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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: