mustermann 0.1.0 → 0.2.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/.travis.yml +1 -1
- data/README.md +166 -16
- data/Rakefile +1 -1
- data/bench/capturing.rb +4 -4
- data/bench/regexp.rb +21 -0
- data/lib/mustermann/ast/expander.rb +9 -3
- data/lib/mustermann/ast/node.rb +0 -1
- data/lib/mustermann/ast/parser.rb +5 -6
- data/lib/mustermann/ast/pattern.rb +17 -21
- data/lib/mustermann/ast/transformer.rb +31 -23
- data/lib/mustermann/ast/translator.rb +2 -2
- data/lib/mustermann/ast/validation.rb +8 -5
- data/lib/mustermann/caster.rb +116 -0
- data/lib/mustermann/equality_map.rb +46 -0
- data/lib/mustermann/expander.rb +169 -0
- data/lib/mustermann/pattern.rb +7 -4
- data/lib/mustermann/regexp_based.rb +2 -2
- data/lib/mustermann/router.rb +9 -0
- data/lib/mustermann/router/rack.rb +47 -0
- data/lib/mustermann/router/simple.rb +142 -0
- data/lib/mustermann/shell.rb +9 -2
- data/lib/mustermann/simple.rb +2 -2
- data/lib/mustermann/version.rb +1 -1
- data/mustermann.gemspec +1 -0
- data/spec/expander_spec.rb +77 -0
- data/spec/router/rack_spec.rb +39 -0
- data/spec/router/simple_spec.rb +30 -0
- data/spec/support/coverage.rb +12 -14
- data/spec/support/pattern.rb +10 -3
- metadata +30 -3
data/spec/support/coverage.rb
CHANGED
@@ -1,18 +1,16 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
require 'coveralls'
|
1
|
+
require 'simplecov'
|
2
|
+
require 'coveralls'
|
4
3
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
4
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
5
|
+
SimpleCov::Formatter::HTMLFormatter,
|
6
|
+
Coveralls::SimpleCov::Formatter
|
7
|
+
]
|
9
8
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
9
|
+
SimpleCov.start do
|
10
|
+
project_name 'mustermann'
|
11
|
+
minimum_coverage 100
|
12
|
+
coverage_dir '.coverage'
|
14
13
|
|
15
|
-
|
16
|
-
|
17
|
-
end
|
14
|
+
add_filter "/spec/"
|
15
|
+
add_group 'Library', 'lib'
|
18
16
|
end
|
data/spec/support/pattern.rb
CHANGED
@@ -5,13 +5,13 @@ module Support
|
|
5
5
|
|
6
6
|
if options
|
7
7
|
description << " with options %p" % [options]
|
8
|
-
instance =
|
8
|
+
instance = subject_for(pattern, options)
|
9
9
|
else
|
10
|
-
instance =
|
10
|
+
instance = subject_for(pattern)
|
11
11
|
end
|
12
12
|
|
13
13
|
context description do
|
14
|
-
subject(:pattern
|
14
|
+
subject(:pattern, &instance)
|
15
15
|
its(:to_s) { should be == pattern }
|
16
16
|
its(:inspect) { should be == "#<#{described_class}:#{pattern.inspect}>" }
|
17
17
|
its(:names) { should be_an(Array) }
|
@@ -24,5 +24,12 @@ module Support
|
|
24
24
|
instance_eval(&block)
|
25
25
|
end
|
26
26
|
end
|
27
|
+
|
28
|
+
def subject_for(pattern, *args)
|
29
|
+
instance = described_class.new(pattern, *args)
|
30
|
+
proc { instance }
|
31
|
+
rescue Exception => error
|
32
|
+
proc { raise error }
|
33
|
+
end
|
27
34
|
end
|
28
35
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mustermann
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Konstantin Haase
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-08-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: addressable
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: sinatra
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -139,6 +153,7 @@ files:
|
|
139
153
|
- README.md
|
140
154
|
- Rakefile
|
141
155
|
- bench/capturing.rb
|
156
|
+
- bench/regexp.rb
|
142
157
|
- bench/simple_vs_sinatra.rb
|
143
158
|
- bench/template_vs_addressable.rb
|
144
159
|
- internals.md
|
@@ -152,12 +167,18 @@ files:
|
|
152
167
|
- lib/mustermann/ast/translator.rb
|
153
168
|
- lib/mustermann/ast/tree_renderer.rb
|
154
169
|
- lib/mustermann/ast/validation.rb
|
170
|
+
- lib/mustermann/caster.rb
|
171
|
+
- lib/mustermann/equality_map.rb
|
155
172
|
- lib/mustermann/error.rb
|
173
|
+
- lib/mustermann/expander.rb
|
156
174
|
- lib/mustermann/extension.rb
|
157
175
|
- lib/mustermann/identity.rb
|
158
176
|
- lib/mustermann/pattern.rb
|
159
177
|
- lib/mustermann/rails.rb
|
160
178
|
- lib/mustermann/regexp_based.rb
|
179
|
+
- lib/mustermann/router.rb
|
180
|
+
- lib/mustermann/router/rack.rb
|
181
|
+
- lib/mustermann/router/simple.rb
|
161
182
|
- lib/mustermann/shell.rb
|
162
183
|
- lib/mustermann/simple.rb
|
163
184
|
- lib/mustermann/simple_match.rb
|
@@ -165,12 +186,15 @@ files:
|
|
165
186
|
- lib/mustermann/template.rb
|
166
187
|
- lib/mustermann/version.rb
|
167
188
|
- mustermann.gemspec
|
189
|
+
- spec/expander_spec.rb
|
168
190
|
- spec/extension_spec.rb
|
169
191
|
- spec/identity_spec.rb
|
170
192
|
- spec/mustermann_spec.rb
|
171
193
|
- spec/pattern_spec.rb
|
172
194
|
- spec/rails_spec.rb
|
173
195
|
- spec/regexp_based_spec.rb
|
196
|
+
- spec/router/rack_spec.rb
|
197
|
+
- spec/router/simple_spec.rb
|
174
198
|
- spec/shell_spec.rb
|
175
199
|
- spec/simple_match_spec.rb
|
176
200
|
- spec/simple_spec.rb
|
@@ -202,17 +226,20 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
202
226
|
version: '0'
|
203
227
|
requirements: []
|
204
228
|
rubyforge_project:
|
205
|
-
rubygems_version: 2.0.
|
229
|
+
rubygems_version: 2.0.5
|
206
230
|
signing_key:
|
207
231
|
specification_version: 4
|
208
232
|
summary: use patterns like regular expressions
|
209
233
|
test_files:
|
234
|
+
- spec/expander_spec.rb
|
210
235
|
- spec/extension_spec.rb
|
211
236
|
- spec/identity_spec.rb
|
212
237
|
- spec/mustermann_spec.rb
|
213
238
|
- spec/pattern_spec.rb
|
214
239
|
- spec/rails_spec.rb
|
215
240
|
- spec/regexp_based_spec.rb
|
241
|
+
- spec/router/rack_spec.rb
|
242
|
+
- spec/router/simple_spec.rb
|
216
243
|
- spec/shell_spec.rb
|
217
244
|
- spec/simple_match_spec.rb
|
218
245
|
- spec/simple_spec.rb
|