cql 1.5.0 → 1.5.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 +5 -5
- data/lib/cql/dsl.rb +6 -1
- data/lib/cql/filters.rb +14 -1
- data/lib/cql/query.rb +5 -2
- data/lib/cql/repository.rb +1 -0
- data/lib/cql/version.rb +1 -1
- data/testing/gemfiles/cuke_modeler0.gemfile +1 -7
- data/testing/gemfiles/cuke_modeler1.gemfile +1 -7
- data/testing/rspec/spec/cql_spec.rb +25 -0
- data/testing/rspec/spec/spec_helper.rb +2 -0
- metadata +19 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 8e2ede22500087bd23e0fa23013c227997688d6689bf56f39b2586a2b355d215
|
4
|
+
data.tar.gz: 4f19858e121c952b4acd0446d1d3658053914c0cea0ec94611e0b9fdb8343812
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aa034bbfab89ca066255c714953a80494e2c5bf38fd4fcfae873707ea175f49d6f5584c63c7abc6f2ab51c82518e832a12b9f5079d98581d68e4bf8fa71ca8f4
|
7
|
+
data.tar.gz: 6dcfa7d2993c2f0ffadce2836bd0a6a5eaec73c2030a67c217cae376a0f133275533ef3d495283fbd6206cf7e2f59f9360fc0a3e5b40a99088894b447628e5ec
|
data/lib/cql/dsl.rb
CHANGED
@@ -80,8 +80,13 @@ module CQL
|
|
80
80
|
|
81
81
|
# Not a part of the public API. Subject to change at any time.
|
82
82
|
class Comparison
|
83
|
-
attr_accessor :operator, :amount
|
84
83
|
|
84
|
+
# the operator used for comparison
|
85
|
+
attr_accessor :operator,
|
86
|
+
# value that will be compared against
|
87
|
+
:amount
|
88
|
+
|
89
|
+
# Creates a new comparison object
|
85
90
|
def initialize operator, amount
|
86
91
|
@operator = operator
|
87
92
|
@amount = amount
|
data/lib/cql/filters.rb
CHANGED
@@ -2,12 +2,16 @@ module CQL
|
|
2
2
|
|
3
3
|
# Not a part of the public API. Subject to change at any time.
|
4
4
|
class TagFilter
|
5
|
+
|
6
|
+
# Tags to match
|
5
7
|
attr_reader :tags
|
6
8
|
|
9
|
+
# Creates a new filter
|
7
10
|
def initialize tags
|
8
11
|
@tags = tags
|
9
12
|
end
|
10
13
|
|
14
|
+
# Returns whether or not the object has the target tags
|
11
15
|
def has_tags?(object, target_tags)
|
12
16
|
target_tags.all? { |target_tag|
|
13
17
|
tags = object.tags
|
@@ -27,14 +31,18 @@ module CQL
|
|
27
31
|
|
28
32
|
# Not a part of the public API. Subject to change at any time.
|
29
33
|
class ContentMatchFilter
|
34
|
+
|
35
|
+
# Pattern to match
|
30
36
|
attr_reader :pattern
|
31
37
|
|
38
|
+
# Creates a new filter
|
32
39
|
def initialize(pattern)
|
33
40
|
raise(ArgumentError, "Can only match a String or Regexp. Got #{pattern.class}.") unless pattern.is_a?(String) || pattern.is_a?(Regexp)
|
34
41
|
|
35
42
|
@pattern = pattern
|
36
43
|
end
|
37
44
|
|
45
|
+
# Returns whether or not the content matches the pattern
|
38
46
|
def content_match?(content)
|
39
47
|
if pattern.is_a?(String)
|
40
48
|
content.any? { |thing| thing == pattern }
|
@@ -47,8 +55,13 @@ module CQL
|
|
47
55
|
|
48
56
|
# Not a part of the public API. Subject to change at any time.
|
49
57
|
class TypeCountFilter
|
50
|
-
attr_reader :types, :comparison
|
51
58
|
|
59
|
+
# the types of object that will be filtered against
|
60
|
+
attr_reader :types,
|
61
|
+
# the comparison that will be made between the objects
|
62
|
+
:comparison
|
63
|
+
|
64
|
+
# Creates a new filter
|
52
65
|
def initialize types, comparison
|
53
66
|
@types = types
|
54
67
|
@comparison = comparison
|
data/lib/cql/query.rb
CHANGED
@@ -5,9 +5,12 @@ module CQL
|
|
5
5
|
|
6
6
|
include Dsl
|
7
7
|
|
8
|
-
|
9
|
-
|
8
|
+
# the root object that will be queried
|
9
|
+
attr_reader :data,
|
10
|
+
# what kinds of objects will be selected
|
11
|
+
:what
|
10
12
|
|
13
|
+
# Creates a new query object
|
11
14
|
def initialize(directory, &block)
|
12
15
|
# Set root object
|
13
16
|
@data = directory
|
data/lib/cql/repository.rb
CHANGED
data/lib/cql/version.rb
CHANGED
@@ -7,13 +7,11 @@ gemspec :path => "../../"
|
|
7
7
|
if RUBY_VERSION =~ /^1\.8/
|
8
8
|
gem 'cucumber', '< 1.3.0'
|
9
9
|
gem 'gherkin', '< 2.12.0'
|
10
|
-
gem '
|
11
|
-
gem 'rest-client', '< 1.7.0' # (For the relish gem) Ruby 1.8.x dropped on/after this version
|
10
|
+
gem 'rainbow', '< 2.0' # Ruby 1.8.x support dropped after this version
|
12
11
|
gem 'rake', '< 11.0' # Rake dropped 1.8.x support after this version
|
13
12
|
elsif RUBY_VERSION =~ /^1\./
|
14
13
|
gem 'cucumber', '< 2.0.0'
|
15
14
|
gem 'mime-types', '< 3.0.0' # Requires Ruby 2.x on/after this version
|
16
|
-
gem 'rest-client', '< 2.0.0' # Requires Ruby 2.x on/after this version
|
17
15
|
gem 'rake', '< 12.3.0' # Requires Ruby 2.x on/after this version
|
18
16
|
end
|
19
17
|
|
@@ -22,10 +20,6 @@ if RUBY_VERSION =~ /^1\./
|
|
22
20
|
gem 'json', '< 2.0' # The 'json' gem drops pre-Ruby 2.x support on/after this version
|
23
21
|
gem 'term-ansicolor', '< 1.4' # The 'term-ansicolor' gem requires Ruby 2.x on/after this version
|
24
22
|
gem 'unf_ext', '< 0.0.7.3' # Requires Ruby 2.x on/after this version
|
25
|
-
|
26
|
-
if RbConfig::CONFIG['host_os'].downcase =~ /mswin|msys|mingw32/
|
27
|
-
gem 'ffi', '< 1.9.15' # The 'ffi' gem, for Windows, requires Ruby 2.x on/after this version
|
28
|
-
end
|
29
23
|
end
|
30
24
|
|
31
25
|
if RUBY_VERSION =~ /^2\.[23456789]/
|
@@ -7,13 +7,11 @@ gemspec :path => "../../"
|
|
7
7
|
if RUBY_VERSION =~ /^1\.8/
|
8
8
|
gem 'cucumber', '< 1.3.0'
|
9
9
|
gem 'gherkin', '< 2.12.0'
|
10
|
-
gem '
|
11
|
-
gem 'rest-client', '< 1.7.0' # (For the relish gem) Ruby 1.8.x dropped on/after this version
|
10
|
+
gem 'rainbow', '< 2.0' # Ruby 1.8.x support dropped after this version
|
12
11
|
gem 'rake', '< 11.0' # Rake dropped 1.8.x support after this version
|
13
12
|
elsif RUBY_VERSION =~ /^1\./
|
14
13
|
gem 'cucumber', '< 2.0.0'
|
15
14
|
gem 'mime-types', '< 3.0.0' # Requires Ruby 2.x on/after this version
|
16
|
-
gem 'rest-client', '< 2.0.0' # Requires Ruby 2.x on/after this version
|
17
15
|
gem 'rake', '< 12.3.0' # Requires Ruby 2.x on/after this version
|
18
16
|
end
|
19
17
|
|
@@ -22,10 +20,6 @@ if RUBY_VERSION =~ /^1\./
|
|
22
20
|
gem 'json', '< 2.0' # The 'json' gem drops pre-Ruby 2.x support on/after this version
|
23
21
|
gem 'term-ansicolor', '< 1.4' # The 'term-ansicolor' gem requires Ruby 2.x on/after this version
|
24
22
|
gem 'unf_ext', '< 0.0.7.3' # Requires Ruby 2.x on/after this version
|
25
|
-
|
26
|
-
if RbConfig::CONFIG['host_os'].downcase =~ /mswin|msys|mingw32/
|
27
|
-
gem 'ffi', '< 1.9.15' # The 'ffi' gem, for Windows, requires Ruby 2.x on/after this version
|
28
|
-
end
|
29
23
|
end
|
30
24
|
|
31
25
|
if RUBY_VERSION =~ /^2\.[23456789]/
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require "#{File.dirname(__FILE__)}/spec_helper"
|
2
|
+
|
3
|
+
|
4
|
+
describe 'the gem' do
|
5
|
+
|
6
|
+
let(:gemspec) { eval(File.read "#{File.dirname(__FILE__)}/../../../cql.gemspec") }
|
7
|
+
|
8
|
+
|
9
|
+
it 'validates cleanly' do
|
10
|
+
mock_ui = Gem::MockGemUi.new
|
11
|
+
Gem::DefaultUserInteraction.use_ui(mock_ui) { gemspec.validate }
|
12
|
+
|
13
|
+
expect(mock_ui.error).to_not match(/warn/i)
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
17
|
+
|
18
|
+
|
19
|
+
describe CQL do
|
20
|
+
|
21
|
+
it "has a version number" do
|
22
|
+
expect(CQL::VERSION).not_to be nil
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cql
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.
|
4
|
+
version: 1.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric Kessler
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2019-04-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: cuke_modeler
|
@@ -110,33 +110,33 @@ dependencies:
|
|
110
110
|
- !ruby/object:Gem::Version
|
111
111
|
version: 1.0.0
|
112
112
|
- !ruby/object:Gem::Dependency
|
113
|
-
name:
|
113
|
+
name: bundler
|
114
114
|
requirement: !ruby/object:Gem::Requirement
|
115
115
|
requirements:
|
116
|
-
- - "
|
116
|
+
- - "<"
|
117
117
|
- !ruby/object:Gem::Version
|
118
|
-
version: '
|
118
|
+
version: '3.0'
|
119
119
|
type: :development
|
120
120
|
prerelease: false
|
121
121
|
version_requirements: !ruby/object:Gem::Requirement
|
122
122
|
requirements:
|
123
|
-
- - "
|
123
|
+
- - "<"
|
124
124
|
- !ruby/object:Gem::Version
|
125
|
-
version: '
|
125
|
+
version: '3.0'
|
126
126
|
- !ruby/object:Gem::Dependency
|
127
|
-
name:
|
127
|
+
name: rainbow
|
128
128
|
requirement: !ruby/object:Gem::Requirement
|
129
129
|
requirements:
|
130
|
-
- - "
|
130
|
+
- - "<"
|
131
131
|
- !ruby/object:Gem::Version
|
132
|
-
version:
|
132
|
+
version: 4.0.0
|
133
133
|
type: :development
|
134
134
|
prerelease: false
|
135
135
|
version_requirements: !ruby/object:Gem::Requirement
|
136
136
|
requirements:
|
137
|
-
- - "
|
137
|
+
- - "<"
|
138
138
|
- !ruby/object:Gem::Version
|
139
|
-
version:
|
139
|
+
version: 4.0.0
|
140
140
|
description: CQL is a domain specific language used for querying a Cucumber (or other
|
141
141
|
Gherkin based) test suite. The goal of CQL is to increase the ease with which useful
|
142
142
|
information can be extracted from a modeled test suite and turned into summarized
|
@@ -228,6 +228,7 @@ files:
|
|
228
228
|
- testing/rspec/spec/clauses/transform_clause_spec.rb
|
229
229
|
- testing/rspec/spec/clauses/with_clause_spec.rb
|
230
230
|
- testing/rspec/spec/clauses/without_clause_spec.rb
|
231
|
+
- testing/rspec/spec/cql_spec.rb
|
231
232
|
- testing/rspec/spec/dsl_spec.rb
|
232
233
|
- testing/rspec/spec/filter_example_spec.rb
|
233
234
|
- testing/rspec/spec/filter_feature_dsl_spec.rb
|
@@ -266,7 +267,10 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
266
267
|
requirements:
|
267
268
|
- - ">="
|
268
269
|
- !ruby/object:Gem::Version
|
269
|
-
version:
|
270
|
+
version: 1.8.7
|
271
|
+
- - "<"
|
272
|
+
- !ruby/object:Gem::Version
|
273
|
+
version: '3.0'
|
270
274
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
271
275
|
requirements:
|
272
276
|
- - ">="
|
@@ -274,7 +278,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
274
278
|
version: '0'
|
275
279
|
requirements: []
|
276
280
|
rubyforge_project:
|
277
|
-
rubygems_version: 2.
|
281
|
+
rubygems_version: 2.7.6
|
278
282
|
signing_key:
|
279
283
|
specification_version: 4
|
280
284
|
summary: A gem providing functionality to query a Cucumber test suite.
|
@@ -350,6 +354,7 @@ test_files:
|
|
350
354
|
- testing/rspec/spec/clauses/transform_clause_spec.rb
|
351
355
|
- testing/rspec/spec/clauses/without_clause_spec.rb
|
352
356
|
- testing/rspec/spec/clauses/with_clause_spec.rb
|
357
|
+
- testing/rspec/spec/cql_spec.rb
|
353
358
|
- testing/rspec/spec/dsl_spec.rb
|
354
359
|
- testing/rspec/spec/filter_example_spec.rb
|
355
360
|
- testing/rspec/spec/filter_feature_dsl_spec.rb
|