robotag 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 +7 -0
- data/lib/robotag.rb +36 -0
- metadata +87 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: a89fff41e4ffdbe57677af1e06e0e8e196cc0059785ef20d3bd848d5e2f51bc7
|
4
|
+
data.tar.gz: c481bfbaeb81da2a95e030e110c0296457d923f5135b67558cffc997994fcd60
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 8a8e00a69e05dbfab727a5a3f145b6b285bf08f14ff4356b3d018f56b9b4f9905edd191d7fb938295e0a9a1ad9c5bdbf4dd6405b7cbf40686ee288ace935e0da
|
7
|
+
data.tar.gz: 0ca51b8ac4619a7aabea4064762ce206925268b19d32908fe801ca993bbbcc561ba7a6e93c70f21614fb9cd49d8e27e226e16fa53815c7a3bb6648d4034c69f7
|
data/lib/robotag.rb
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'cql'
|
2
|
+
|
3
|
+
class Robotag
|
4
|
+
attr_accessor :repo, :chain_state
|
5
|
+
|
6
|
+
def initialize(opts)
|
7
|
+
self.repo = CQL::Repository.new(opts[:repo])
|
8
|
+
self
|
9
|
+
end
|
10
|
+
|
11
|
+
def tests_with_steps_that_match(my_regex)
|
12
|
+
self.chain_state = self.repo.query do
|
13
|
+
select name, steps, tags
|
14
|
+
from scenarios, outlines
|
15
|
+
with { |scenario| scenario.steps.map(&:text).any? { |step| step =~ my_regex } }
|
16
|
+
end
|
17
|
+
self
|
18
|
+
end
|
19
|
+
|
20
|
+
def all_have_tag?(tag)
|
21
|
+
self.chain_state = self.chain_state.map do |query_result|
|
22
|
+
query_result["tags"].map do |cm_tag|
|
23
|
+
cm_tag.map(&:name)
|
24
|
+
end
|
25
|
+
end.all? do |mapped_qr|
|
26
|
+
mapped_qr.flatten.any? do |test_tag|
|
27
|
+
test_tag == tag
|
28
|
+
end
|
29
|
+
end
|
30
|
+
self
|
31
|
+
end
|
32
|
+
|
33
|
+
def go!
|
34
|
+
self.chain_state
|
35
|
+
end
|
36
|
+
end
|
metadata
ADDED
@@ -0,0 +1,87 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: robotag
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- David West
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2023-05-26 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rspec
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '3.5'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '3.5'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rubycritic
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '2.9'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '2.9'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: cql
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.7'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.7'
|
55
|
+
description: robotag analyzes a cucumber suite. It finds Scenarios and Scenario outlines
|
56
|
+
with steps that match certain patterns. It ensures that the associated scenarios
|
57
|
+
or outlines contain or do not contain certain tags
|
58
|
+
email: support@robotag.xyz
|
59
|
+
executables: []
|
60
|
+
extensions: []
|
61
|
+
extra_rdoc_files: []
|
62
|
+
files:
|
63
|
+
- lib/robotag.rb
|
64
|
+
homepage: https://rubygems.org/gems/robotag
|
65
|
+
licenses:
|
66
|
+
- MIT
|
67
|
+
metadata: {}
|
68
|
+
post_install_message:
|
69
|
+
rdoc_options: []
|
70
|
+
require_paths:
|
71
|
+
- lib
|
72
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - ">="
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
77
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - ">="
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '0'
|
82
|
+
requirements: []
|
83
|
+
rubygems_version: 3.3.26
|
84
|
+
signing_key:
|
85
|
+
specification_version: 4
|
86
|
+
summary: robotag - a gem for automating organizing a Ruby Cucumber suite with tags
|
87
|
+
test_files: []
|