cql 1.0.0 → 1.0.1
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 +15 -0
- data/lib/cql.rb +2 -4
- data/lib/cql/dsl.rb +3 -0
- data/lib/cql/filters.rb +3 -4
- data/lib/cql/version.rb +1 -1
- data/spec/dsl_spec.rb +16 -4
- data/spec/line_filterable_specs.rb +11 -0
- data/spec/name_filterable_specs.rb +11 -0
- data/spec/repository_spec.rb +4 -0
- metadata +7 -25
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
YmJjZmVjY2MzZGQwMWIyNzIyNjA3ZjMxZDVlNGVhMGYwYWNhMjlmMQ==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
ZTEwODIxZmEwZWFiYTM0MTI0YzI4MjZjMDZhYjk1OGRmOTkyYWE5Zg==
|
7
|
+
SHA512:
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
ZjgxZDk5NjY1ZjA0YTNkYjJkNDIwZGVhYzVlMmEzODRjMmI1MDRkODk2Njc1
|
10
|
+
YmUzM2ExYjYzYjY4M2I3YjExMjAwNTFjODhjZGRlY2ZhYjZkNTI0NzgwOGY2
|
11
|
+
YTA5ZGE4MDIxOWFjMGU2ZjY1NmY3NzgyYTIxZjNlN2QzMGFhYjc=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
M2NjN2RmZGZhNmUzYTE4NzY2OGE5ODM2ZTcwNDkyYjg5OWVmNDMyNTcxZWIy
|
14
|
+
NDkyZTViZTljMGI0ZjRkMzBlMDM1ZDQwZGIzNDRmZTg0OTVmZTNlNmY1NmZh
|
15
|
+
MTdjODU5OWIzYTU2YzJkYjIyYmQ5ODI1M2MyMDAyZjliYTZiNzM=
|
data/lib/cql.rb
CHANGED
@@ -103,12 +103,10 @@ module CQL
|
|
103
103
|
case
|
104
104
|
when repository_root.is_a?(String)
|
105
105
|
@target_directory = CukeModeler::Directory.new(repository_root)
|
106
|
-
when repository_root.
|
107
|
-
# todo - stop assuming
|
108
|
-
# Assume valid CukeModeler class for now
|
106
|
+
when repository_root.class.to_s =~ /CukeModeler/
|
109
107
|
@target_directory = repository_root
|
110
108
|
else
|
111
|
-
|
109
|
+
raise(ArgumentError, "Don't know how to make a repository from a #{repository_root.class}")
|
112
110
|
end
|
113
111
|
end
|
114
112
|
|
data/lib/cql/dsl.rb
CHANGED
@@ -146,6 +146,9 @@ module CQL
|
|
146
146
|
|
147
147
|
# Check for pluralization of class match (i.e. remove the final 's')
|
148
148
|
return CukeModeler.const_get(where.chop) if CukeModeler.const_defined?(where.chop)
|
149
|
+
|
150
|
+
# Then the class must not be a CukeModeler class
|
151
|
+
raise(ArgumentError, "Class 'CukeModeler::#{where}' does not exist")
|
149
152
|
end
|
150
153
|
|
151
154
|
end
|
data/lib/cql/filters.rb
CHANGED
@@ -21,17 +21,16 @@ module CQL
|
|
21
21
|
attr_reader :pattern
|
22
22
|
|
23
23
|
def initialize(pattern)
|
24
|
+
raise(ArgumentError, "Can only match a String or Regexp. Got #{pattern.class}.") unless pattern.is_a?(String) || pattern.is_a?(Regexp)
|
25
|
+
|
24
26
|
@pattern = pattern
|
25
27
|
end
|
26
28
|
|
27
29
|
def content_match?(content)
|
28
30
|
if pattern.is_a?(String)
|
29
31
|
content.any? { |thing| thing == pattern }
|
30
|
-
elsif pattern.is_a?(Regexp)
|
31
|
-
content.any? { |thing| thing =~ pattern }
|
32
32
|
else
|
33
|
-
|
34
|
-
false
|
33
|
+
content.any? { |thing| thing =~ pattern }
|
35
34
|
end
|
36
35
|
end
|
37
36
|
|
data/lib/cql/version.rb
CHANGED
data/spec/dsl_spec.rb
CHANGED
@@ -39,12 +39,24 @@ describe 'dsl' do
|
|
39
39
|
end
|
40
40
|
|
41
41
|
end
|
42
|
-
end
|
43
42
|
|
44
|
-
|
43
|
+
describe 'shorthand' do
|
44
|
+
|
45
|
+
it 'should consider an exact match over a pluralization' do
|
46
|
+
skip('Not sure how to test this without actually have two classes that are so similarly named. It is a required behavior, but not one worth the hassle of testing until it actually comes up.')
|
47
|
+
end
|
48
|
+
|
49
|
+
it 'raises an exception if the shorthand form of a class cannot be mapped to a real class' do
|
50
|
+
gs = CQL::Repository.new("#{@feature_fixtures_directory}/scenario/simple")
|
51
|
+
|
52
|
+
expect {
|
53
|
+
gs.query do
|
54
|
+
select name
|
55
|
+
from not_a_real_class
|
56
|
+
end
|
57
|
+
}.to raise_error(ArgumentError, "Class 'CukeModeler::NotARealClass' does not exist")
|
45
58
|
|
46
|
-
|
47
|
-
skip('Not sure how to test this without actually have two classes that are so similarly named. It is a required behavior, but not one worth the hassle of testing until it actually comes up.')
|
59
|
+
end
|
48
60
|
end
|
49
61
|
|
50
62
|
end
|
@@ -36,5 +36,16 @@ shared_examples_for 'a line filterable target set' do |target_type, test_data|
|
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
39
|
+
it 'can only handle a string or regular expression' do
|
40
|
+
gs = CQL::Repository.new(@feature_fixtures_directory)
|
41
|
+
|
42
|
+
expect { gs.query do
|
43
|
+
select name
|
44
|
+
from scenarios
|
45
|
+
with line 7
|
46
|
+
end }.to raise_error(ArgumentError, "Can only match a String or Regexp. Got Fixnum.")
|
47
|
+
|
48
|
+
end
|
49
|
+
|
39
50
|
end
|
40
51
|
end
|
@@ -36,5 +36,16 @@ shared_examples_for 'a name filterable target set' do |target_type, test_data|
|
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
39
|
+
it 'can only handle a string or regular expression' do
|
40
|
+
gs = CQL::Repository.new(@feature_fixtures_directory)
|
41
|
+
|
42
|
+
expect { gs.query do
|
43
|
+
select name
|
44
|
+
from scenarios
|
45
|
+
with name 7
|
46
|
+
end }.to raise_error(ArgumentError, "Can only match a String or Regexp. Got Fixnum.")
|
47
|
+
|
48
|
+
end
|
49
|
+
|
39
50
|
end
|
40
51
|
end
|
data/spec/repository_spec.rb
CHANGED
@@ -14,4 +14,8 @@ describe 'CQL::Repository' do
|
|
14
14
|
expect { clazz.new(some_model) }.to_not raise_error
|
15
15
|
end
|
16
16
|
|
17
|
+
it "complains if can't be made from what it was given" do
|
18
|
+
expect { clazz.new(:some_other_thing) }.to raise_error(ArgumentError, "Don't know how to make a repository from a Symbol")
|
19
|
+
end
|
20
|
+
|
17
21
|
end
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cql
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
5
|
-
prerelease:
|
4
|
+
version: 1.0.1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Eric Kessler
|
@@ -10,12 +9,11 @@ authors:
|
|
10
9
|
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date: 2015-09-
|
12
|
+
date: 2015-09-20 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: cuke_modeler
|
17
16
|
requirement: !ruby/object:Gem::Requirement
|
18
|
-
none: false
|
19
17
|
requirements:
|
20
18
|
- - ! '>='
|
21
19
|
- !ruby/object:Gem::Version
|
@@ -23,7 +21,6 @@ dependencies:
|
|
23
21
|
type: :runtime
|
24
22
|
prerelease: false
|
25
23
|
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
none: false
|
27
24
|
requirements:
|
28
25
|
- - ! '>='
|
29
26
|
- !ruby/object:Gem::Version
|
@@ -31,7 +28,6 @@ dependencies:
|
|
31
28
|
- !ruby/object:Gem::Dependency
|
32
29
|
name: backports
|
33
30
|
requirement: !ruby/object:Gem::Requirement
|
34
|
-
none: false
|
35
31
|
requirements:
|
36
32
|
- - ! '>='
|
37
33
|
- !ruby/object:Gem::Version
|
@@ -39,7 +35,6 @@ dependencies:
|
|
39
35
|
type: :runtime
|
40
36
|
prerelease: false
|
41
37
|
version_requirements: !ruby/object:Gem::Requirement
|
42
|
-
none: false
|
43
38
|
requirements:
|
44
39
|
- - ! '>='
|
45
40
|
- !ruby/object:Gem::Version
|
@@ -47,7 +42,6 @@ dependencies:
|
|
47
42
|
- !ruby/object:Gem::Dependency
|
48
43
|
name: rake
|
49
44
|
requirement: !ruby/object:Gem::Requirement
|
50
|
-
none: false
|
51
45
|
requirements:
|
52
46
|
- - ! '>='
|
53
47
|
- !ruby/object:Gem::Version
|
@@ -55,7 +49,6 @@ dependencies:
|
|
55
49
|
type: :development
|
56
50
|
prerelease: false
|
57
51
|
version_requirements: !ruby/object:Gem::Requirement
|
58
|
-
none: false
|
59
52
|
requirements:
|
60
53
|
- - ! '>='
|
61
54
|
- !ruby/object:Gem::Version
|
@@ -63,7 +56,6 @@ dependencies:
|
|
63
56
|
- !ruby/object:Gem::Dependency
|
64
57
|
name: rspec
|
65
58
|
requirement: !ruby/object:Gem::Requirement
|
66
|
-
none: false
|
67
59
|
requirements:
|
68
60
|
- - ~>
|
69
61
|
- !ruby/object:Gem::Version
|
@@ -71,7 +63,6 @@ dependencies:
|
|
71
63
|
type: :development
|
72
64
|
prerelease: false
|
73
65
|
version_requirements: !ruby/object:Gem::Requirement
|
74
|
-
none: false
|
75
66
|
requirements:
|
76
67
|
- - ~>
|
77
68
|
- !ruby/object:Gem::Version
|
@@ -79,7 +70,6 @@ dependencies:
|
|
79
70
|
- !ruby/object:Gem::Dependency
|
80
71
|
name: cucumber
|
81
72
|
requirement: !ruby/object:Gem::Requirement
|
82
|
-
none: false
|
83
73
|
requirements:
|
84
74
|
- - ! '>='
|
85
75
|
- !ruby/object:Gem::Version
|
@@ -87,7 +77,6 @@ dependencies:
|
|
87
77
|
type: :development
|
88
78
|
prerelease: false
|
89
79
|
version_requirements: !ruby/object:Gem::Requirement
|
90
|
-
none: false
|
91
80
|
requirements:
|
92
81
|
- - ! '>='
|
93
82
|
- !ruby/object:Gem::Version
|
@@ -95,7 +84,6 @@ dependencies:
|
|
95
84
|
- !ruby/object:Gem::Dependency
|
96
85
|
name: simplecov
|
97
86
|
requirement: !ruby/object:Gem::Requirement
|
98
|
-
none: false
|
99
87
|
requirements:
|
100
88
|
- - ! '>='
|
101
89
|
- !ruby/object:Gem::Version
|
@@ -103,7 +91,6 @@ dependencies:
|
|
103
91
|
type: :development
|
104
92
|
prerelease: false
|
105
93
|
version_requirements: !ruby/object:Gem::Requirement
|
106
|
-
none: false
|
107
94
|
requirements:
|
108
95
|
- - ! '>='
|
109
96
|
- !ruby/object:Gem::Version
|
@@ -111,7 +98,6 @@ dependencies:
|
|
111
98
|
- !ruby/object:Gem::Dependency
|
112
99
|
name: racatt
|
113
100
|
requirement: !ruby/object:Gem::Requirement
|
114
|
-
none: false
|
115
101
|
requirements:
|
116
102
|
- - ! '>='
|
117
103
|
- !ruby/object:Gem::Version
|
@@ -119,7 +105,6 @@ dependencies:
|
|
119
105
|
type: :development
|
120
106
|
prerelease: false
|
121
107
|
version_requirements: !ruby/object:Gem::Requirement
|
122
|
-
none: false
|
123
108
|
requirements:
|
124
109
|
- - ! '>='
|
125
110
|
- !ruby/object:Gem::Version
|
@@ -127,7 +112,6 @@ dependencies:
|
|
127
112
|
- !ruby/object:Gem::Dependency
|
128
113
|
name: coveralls
|
129
114
|
requirement: !ruby/object:Gem::Requirement
|
130
|
-
none: false
|
131
115
|
requirements:
|
132
116
|
- - ! '>='
|
133
117
|
- !ruby/object:Gem::Version
|
@@ -135,7 +119,6 @@ dependencies:
|
|
135
119
|
type: :development
|
136
120
|
prerelease: false
|
137
121
|
version_requirements: !ruby/object:Gem::Requirement
|
138
|
-
none: false
|
139
122
|
requirements:
|
140
123
|
- - ! '>='
|
141
124
|
- !ruby/object:Gem::Version
|
@@ -146,13 +129,13 @@ executables: []
|
|
146
129
|
extensions: []
|
147
130
|
extra_rdoc_files: []
|
148
131
|
files:
|
132
|
+
- lib/cql.rb
|
149
133
|
- lib/cql/dsl.rb
|
150
134
|
- lib/cql/feature_filters.rb
|
151
135
|
- lib/cql/filters.rb
|
152
136
|
- lib/cql/map_reduce.rb
|
153
137
|
- lib/cql/sso_filters.rb
|
154
138
|
- lib/cql/version.rb
|
155
|
-
- lib/cql.rb
|
156
139
|
- spec/dsl_spec.rb
|
157
140
|
- spec/filter_example_spec.rb
|
158
141
|
- spec/filter_feature_dsl_spec.rb
|
@@ -164,13 +147,14 @@ files:
|
|
164
147
|
- spec/name_filterable_specs.rb
|
165
148
|
- spec/repository_spec.rb
|
166
149
|
- spec/select_feature_dsl_spec.rb
|
167
|
-
- spec/select_scenario_dsl_spec.rb
|
168
150
|
- spec/select_scen_outline_dsl_spec.rb
|
151
|
+
- spec/select_scenario_dsl_spec.rb
|
169
152
|
- spec/spec_helper.rb
|
170
153
|
- spec/tag_filterable_specs.rb
|
171
154
|
homepage: https://github.com/enkessler/cql
|
172
155
|
licenses:
|
173
156
|
- MIT
|
157
|
+
metadata: {}
|
174
158
|
post_install_message: ! '
|
175
159
|
|
176
160
|
(::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::)
|
@@ -188,22 +172,20 @@ rdoc_options:
|
|
188
172
|
require_paths:
|
189
173
|
- lib
|
190
174
|
required_ruby_version: !ruby/object:Gem::Requirement
|
191
|
-
none: false
|
192
175
|
requirements:
|
193
176
|
- - ! '>='
|
194
177
|
- !ruby/object:Gem::Version
|
195
178
|
version: '0'
|
196
179
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
197
|
-
none: false
|
198
180
|
requirements:
|
199
181
|
- - ! '>='
|
200
182
|
- !ruby/object:Gem::Version
|
201
183
|
version: '0'
|
202
184
|
requirements: []
|
203
185
|
rubyforge_project:
|
204
|
-
rubygems_version:
|
186
|
+
rubygems_version: 2.4.8
|
205
187
|
signing_key:
|
206
|
-
specification_version:
|
188
|
+
specification_version: 4
|
207
189
|
summary: A gem providing functionality to query a Cucumber test suite.
|
208
190
|
test_files:
|
209
191
|
- spec/dsl_spec.rb
|