scout-gear 10.7.2 → 10.7.4

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.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/.vimproject +47 -32
  3. data/VERSION +1 -1
  4. data/bin/scout +15 -2
  5. data/lib/scout/association/index.rb +4 -0
  6. data/lib/scout/association/item.rb +1 -1
  7. data/lib/scout/association.rb +32 -10
  8. data/lib/scout/entity/identifiers.rb +2 -2
  9. data/lib/scout/entity/property.rb +2 -2
  10. data/lib/scout/knowledge_base/enrichment.rb +9 -0
  11. data/lib/scout/knowledge_base/entity.rb +152 -0
  12. data/lib/scout/knowledge_base/list.rb +95 -0
  13. data/lib/scout/knowledge_base/query.rb +96 -0
  14. data/lib/scout/knowledge_base/registry.rb +175 -0
  15. data/lib/scout/knowledge_base/traverse.rb +329 -0
  16. data/lib/scout/knowledge_base.rb +91 -0
  17. data/lib/scout/persist/engine/tokyocabinet.rb +85 -77
  18. data/lib/scout/persist/tsv/adapter/base.rb +8 -22
  19. data/lib/scout/tsv/annotation.rb +4 -4
  20. data/lib/scout/tsv/index.rb +0 -2
  21. data/lib/scout/tsv/parser.rb +11 -1
  22. data/lib/scout/tsv/stream.rb +3 -3
  23. data/lib/scout/tsv/transformer.rb +12 -0
  24. data/lib/scout/tsv/util/process.rb +2 -2
  25. data/lib/scout/tsv.rb +2 -0
  26. data/lib/scout/workflow/definition.rb +6 -2
  27. data/lib/scout/workflow/deployment/trace.rb +1 -1
  28. data/lib/scout/workflow/step/dependencies.rb +3 -6
  29. data/lib/scout/workflow/step/info.rb +17 -3
  30. data/lib/scout/workflow/task/info.rb +99 -0
  31. data/lib/scout/workflow/task.rb +1 -0
  32. data/scout-gear.gemspec +27 -7
  33. data/scout_commands/doc +3 -3
  34. data/scout_commands/kb/config +33 -0
  35. data/scout_commands/kb/entities +35 -0
  36. data/scout_commands/kb/list +39 -0
  37. data/scout_commands/{db → kb}/query +6 -11
  38. data/scout_commands/{db → kb}/register +9 -8
  39. data/scout_commands/{db → kb}/show +6 -16
  40. data/scout_commands/kb/traverse +66 -0
  41. data/scout_commands/workflow/task +7 -2
  42. data/test/data/person/brothers +1 -1
  43. data/test/scout/entity/test_identifiers.rb +3 -3
  44. data/test/scout/knowledge_base/test_enrichment.rb +0 -0
  45. data/test/scout/knowledge_base/test_entity.rb +38 -0
  46. data/test/scout/knowledge_base/test_list.rb +40 -0
  47. data/test/scout/knowledge_base/test_query.rb +39 -0
  48. data/test/scout/knowledge_base/test_registry.rb +35 -0
  49. data/test/scout/knowledge_base/test_traverse.rb +245 -0
  50. data/test/scout/persist/test_tsv.rb +1 -0
  51. data/test/scout/test_association.rb +32 -3
  52. data/test/scout/test_entity.rb +0 -15
  53. data/test/scout/test_knowledge_base.rb +27 -0
  54. data/test/scout/test_tsv.rb +15 -0
  55. data/test/scout/tsv/test_parser.rb +4 -0
  56. data/test/scout/tsv/test_transformer.rb +13 -0
  57. data/test/scout/workflow/step/test_info.rb +11 -0
  58. data/test/scout/workflow/task/test_info.rb +22 -0
  59. data/test/test_helper.rb +17 -0
  60. metadata +26 -9
@@ -0,0 +1,245 @@
1
+ require File.expand_path(__FILE__).sub(%r(/test/.*), '/test/test_helper.rb')
2
+ require File.expand_path(__FILE__).sub(%r(.*/test/), '').sub(/test_(.*)\.rb/,'\1')
3
+
4
+ require 'scout/knowledge_base'
5
+ class TestKnowledgeBaseTraverse < Test::Unit::TestCase
6
+ def test_traverse_single
7
+ TmpFile.with_dir do |dir|
8
+ kb = KnowledgeBase.new dir
9
+ kb.entity_options = {"TestKnowledgeBaseQuery::Person" => {test: "Default"}}
10
+
11
+ kb.register :brothers, datafile_test(:person).brothers, undirected: true
12
+ kb.register :parents, datafile_test(:person).parents, entity_options: {"TestKnowledgeBaseQuery::Person" => {test: "Parents"}}
13
+
14
+ rules = []
15
+ rules << "Miki brothers ?1"
16
+ res = kb.traverse rules
17
+ assert_include res.first["?1"], "Isa"
18
+
19
+ rules = []
20
+ rules << "Miki parents ?1"
21
+ entities, paths = kb.traverse rules
22
+ assert_include paths.first.first.info, "Type of parent"
23
+
24
+ rules = []
25
+ rules << "?1 parents Domingo"
26
+ entities, paths = kb.traverse rules
27
+ assert_include entities["?1"], "Clei"
28
+ end
29
+ end
30
+
31
+ def test_traverse_multiple
32
+ TmpFile.with_dir do |dir|
33
+ kb = KnowledgeBase.new dir
34
+
35
+ kb.register :brothers, datafile_test(:person).brothers, undirected: true
36
+ kb.register :parents, datafile_test(:person).parents
37
+ kb.register :marriages, datafile_test(:person).marriages, source: "=>Alias", target: "=>Alias"
38
+
39
+ rules = []
40
+ rules << "Miki marriages ?1"
41
+ rules << "?1 brothers ?2"
42
+ res = kb.traverse rules
43
+ assert_include res.first["?2"], "Guille"
44
+ end
45
+ end
46
+
47
+ def test_traverse_condition
48
+ TmpFile.with_dir do |dir|
49
+ kb = KnowledgeBase.new dir
50
+
51
+ kb.register :brothers, datafile_test(:person).brothers, undirected: true
52
+ kb.register :parents, datafile_test(:person).parents
53
+ kb.register :marriages, datafile_test(:person).marriages, source: "=>Alias", target: "=>Alias"
54
+
55
+ rules = []
56
+ rules << "Miki parents ?1 - 'Type of parent=father'"
57
+ entities, paths = kb.traverse rules
58
+ assert_equal entities["?1"], ["Juan"]
59
+ end
60
+ end
61
+
62
+ def test_traverse_identify
63
+ TmpFile.with_dir do |dir|
64
+ kb = KnowledgeBase.new dir
65
+ kb.entity_options = {"TestKnowledgeBaseQuery::Person" => {test: "Default"}}
66
+
67
+ kb.register :brothers, datafile_test(:person).brothers, undirected: true
68
+ kb.register :parents, datafile_test(:person).parents, entity_options: {"TestKnowledgeBaseQuery::Person" => {test: "Parents"}}
69
+
70
+ rules = []
71
+ rules << "001 brothers ?1"
72
+ res = kb.traverse rules
73
+ assert_include res.first["?1"], "Isa"
74
+ end
75
+ end
76
+
77
+ def test_traverse_target
78
+ TmpFile.with_dir do |dir|
79
+ kb = KnowledgeBase.new dir
80
+
81
+ kb.register :brothers, datafile_test(:person).brothers, undirected: true
82
+ kb.register :parents, datafile_test(:person).parents
83
+
84
+ rules = []
85
+ rules << "?target =brothers 001"
86
+ rules << "?1 brothers ?target"
87
+ res = kb.traverse rules
88
+ assert_include res.first["?1"], "Isa"
89
+ assert_include res.first["?target"], "Miki"
90
+ end
91
+ end
92
+
93
+ def test_traverse_translate_multiple
94
+ TmpFile.with_dir do |dir|
95
+ kb = KnowledgeBase.new dir
96
+
97
+ kb.register :brothers, datafile_test(:person).brothers, undirected: true
98
+ kb.register :parents, datafile_test(:person).parents
99
+ kb.register :marriages, datafile_test(:person).marriages, undirected: true
100
+
101
+ rules = []
102
+ rules << "Guille brothers ?1"
103
+ rules << "?2 =marriages ?1"
104
+ rules << "?2 marriages ?3"
105
+ entities, paths = kb.traverse rules
106
+ assert_include entities["?3"], "001"
107
+ end
108
+ end
109
+ end
110
+
111
+
112
+
113
+ #require File.join(File.expand_path(File.dirname(__FILE__)), '../..', 'test_helper.rb')
114
+ #require 'rbbt/knowledge_base/traverse'
115
+ #require 'rbbt/workflow'
116
+ #
117
+ #class TestKnowledgeBaseTraverse < Test::Unit::TestCase
118
+ # def with_kb(&block)
119
+ # keyword_test :organism do
120
+ # require 'rbbt/sources/organism'
121
+ # organism = Organism.default_code("Hsa")
122
+ # TmpFile.with_file do |tmpdir|
123
+ # kb = KnowledgeBase.new tmpdir
124
+ # kb.namespace = organism
125
+ # kb.format = {"Gene" => "Associated Gene Name"}
126
+ #
127
+ # kb.register :gene_ages, datadir_test.gene_ages, :source => "=>Associated Gene Name"
128
+ #
129
+ # kb.register :CollecTRI, datadir_test.CollecTRI,
130
+ # :source => "Transcription Factor=~Associated Gene Name",
131
+ # :target => "Target Gene=~Associated Gene Name",
132
+ # :fields => ["[ExTRI] Confidence", "[ExTRI] PMID"]
133
+ #
134
+ # yield kb
135
+ # end
136
+ # end
137
+ # end
138
+ #
139
+ # def test_traverse_simple
140
+ # with_kb do |kb|
141
+ # rules = []
142
+ # rules << "SMAD4 gene_ages ?1"
143
+ # res = kb.traverse rules
144
+ # assert_include res.first["?1"], "Bilateria"
145
+ # end
146
+ # end
147
+ #
148
+ # def test_traverse_CollecTRI
149
+ # with_kb do |kb|
150
+ # rules = []
151
+ # rules << "SMAD4 CollecTRI ?1 - '[ExTRI] Confidence=High'"
152
+ # res = kb.traverse rules
153
+ # assert res.last.any?
154
+ # end
155
+ # end
156
+ #
157
+ #
158
+ # def test_traverse
159
+ # with_kb do |kb|
160
+ # rules = []
161
+ # rules << "?1 CollecTRI SMAD7"
162
+ # rules << "?1 gene_ages ?2"
163
+ # rules << "SMAD4 gene_ages ?2"
164
+ # res = kb.traverse rules
165
+ # assert res.first["?1"].include? "MYC"
166
+ # end
167
+ # end
168
+ #
169
+ # def test_target
170
+ # with_kb do |kb|
171
+ # rules = []
172
+ # rules << "?target =CollecTRI SMAD7"
173
+ # rules << "?1 CollecTRI ?target"
174
+ # rules << "?1 gene_ages ?2"
175
+ # rules << "SMAD4 gene_ages ?2"
176
+ # res = kb.traverse rules
177
+ # assert res.first["?1"].include? "MYC"
178
+ # end
179
+ # end
180
+ #
181
+ # def test_target_translate
182
+ # with_kb do |kb|
183
+ # rules = []
184
+ # rules << "?target =CollecTRI ENSG00000101665"
185
+ # rules << "?1 CollecTRI ?target"
186
+ # res = kb.traverse rules
187
+ # assert res.first["?1"].include? "MYC"
188
+ # end
189
+ # end
190
+ #
191
+ # def test_target_attribute
192
+ # with_kb do |kb|
193
+ # rules = []
194
+ # rules << "?1 CollecTRI SMAD7"
195
+ # all = kb.traverse rules
196
+ #
197
+ # rules = []
198
+ # rules << "?1 CollecTRI SMAD7 - '[ExTRI] Confidence'=High"
199
+ # low = kb.traverse rules
200
+ #
201
+ # assert low.last.length < all.last.length
202
+ # end
203
+ # end
204
+ #
205
+ # def test_traverse_same_age
206
+ # with_kb do |kb|
207
+ # rules_str=<<-EOF
208
+ #?target1 =gene_ages SMAD7
209
+ #?target2 =gene_ages SMAD4
210
+ #?target1 gene_ages ?age
211
+ #?target2 gene_ages ?age
212
+ #?1 gene_ages ?age
213
+ # EOF
214
+ # rules = rules_str.split "\n"
215
+ # res = kb.traverse rules
216
+ # assert_include res.first["?1"], "MET"
217
+ # end
218
+ # end
219
+ #
220
+ # def test_traverse_same_age_acc
221
+ # with_kb do |kb|
222
+ # rules_str=<<-EOF
223
+ #?target1 =gene_ages SMAD7
224
+ #?target2 =gene_ages SMAD4
225
+ #?age{
226
+ # ?target1 gene_ages ?age
227
+ # ?target2 gene_ages ?age
228
+ #}
229
+ #?1 gene_ages ?age
230
+ # EOF
231
+ # rules = rules_str.split "\n"
232
+ # res = kb.traverse rules
233
+ # assert_include res.first["?1"], "MET"
234
+ # end
235
+ # end
236
+ #
237
+ # def test_wildcard_db
238
+ # with_kb do |kb|
239
+ # rules = []
240
+ # rules << "SMAD4 ?db ?1"
241
+ # res = kb.traverse rules
242
+ # end
243
+ # end
244
+ #end
245
+ #
@@ -74,6 +74,7 @@ row2 a a id3
74
74
  assert_include tsv.keys, 'row1'
75
75
  assert_include tsv.keys, 'row2'
76
76
 
77
+ tsv.close
77
78
  assert_nothing_raised do
78
79
  tsv = Persist.persist("TEST Persist TSV", :HDB) do
79
80
  raise
@@ -4,12 +4,21 @@ require File.expand_path(__FILE__).sub(%r(.*/test/), '').sub(/test_(.*)\.rb/,'\1
4
4
  require 'scout/tsv'
5
5
  class TestAssociation < Test::Unit::TestCase
6
6
 
7
- def test_marriages_simple
8
- database = Association.database(datadir_test.person.marriages, :source => "Wife", :target => "Husband")
7
+ def test_marriages_simple_no_persist
8
+ database = Association.database(datadir_test.person.marriages, :source => "Wife", :target => "Husband", persist: false)
9
9
  assert_equal "001", database["002"]["Husband"]
10
10
  assert_equal "2021", database["002"]["Date"]
11
+ refute database.respond_to?(:persistence_path)
11
12
  end
12
13
 
14
+ def test_marriages_simple_persist
15
+ database = Association.database(datadir_test.person.marriages, :source => "Wife", :target => "Husband", persist: true)
16
+ assert_equal "001", database["002"]["Husband"]
17
+ assert_equal "2021", database["002"]["Date"]
18
+ assert database.respond_to?(:persistence_path)
19
+ end
20
+
21
+
13
22
  def test_marriages_open
14
23
  database = Association.database(datadir_test.person.marriages, :source => "Wife (ID)=>Alias", :target => "Husband (ID)=>Name")
15
24
  assert_equal "Miguel", database["Clei"]["Husband"]
@@ -38,7 +47,7 @@ class TestAssociation < Test::Unit::TestCase
38
47
  end
39
48
 
40
49
  def test_brothers_rename
41
- database = Association.database(datadir_test.person.brothers, :source => "Older=~Older (Alias)=>Name")
50
+ database = Association.database(datadir_test.person.brothers, source: "Older=~Older (Alias)=>Name")
42
51
  assert_equal "Older (Name)", database.key_field
43
52
  end
44
53
 
@@ -47,5 +56,25 @@ class TestAssociation < Test::Unit::TestCase
47
56
  database = Association.database(tsv)
48
57
  assert_equal database["Miki"], %w(Juan Mariluz)
49
58
  end
59
+
60
+ def test_persist
61
+ database = Association.database(datadir_test.person.brothers, source: "Older=~Older (Alias)=>Name", persist: true)
62
+ assert database.respond_to?(:persistence_path)
63
+ end
64
+
65
+ def test_extra_options
66
+ file=<<-EOF
67
+ #: :extra_option=:test
68
+ #Key,Value
69
+ k,v
70
+ EOF
71
+
72
+ TmpFile.with_path(file.gsub(',', "\t")) do |f|
73
+ assert_nothing_raised do
74
+ Association.open(f, target: "Value", source: "Key")
75
+ end
76
+ end
77
+
78
+ end
50
79
  end
51
80
 
@@ -7,21 +7,6 @@ class TestEntity < Test::Unit::TestCase
7
7
  Entity.entity_property_cache = tmpdir.property_cache
8
8
  end
9
9
 
10
- module Person
11
- extend Entity
12
-
13
- annotation :language
14
-
15
- property :salutation do
16
- case language
17
- when 'es'
18
- "Hola #{self}"
19
- else
20
- "Hi #{self}"
21
- end
22
- end
23
- end
24
-
25
10
  module EmptyEntity
26
11
  extend Entity
27
12
  end
@@ -0,0 +1,27 @@
1
+ require File.expand_path(__FILE__).sub(%r(/test/.*), '/test/test_helper.rb')
2
+ require File.expand_path(__FILE__).sub(%r(.*/test/), '').sub(/test_(.*)\.rb/,'\1')
3
+
4
+ class TestKnowlegeBase < Test::Unit::TestCase
5
+ def test_no_namespace
6
+ TmpFile.with_dir do |dir|
7
+ kb = KnowledgeBase.new dir
8
+ assert_nil kb.namespace
9
+ kb.save
10
+
11
+ kb = KnowledgeBase.load dir
12
+ assert_nil kb.namespace
13
+ end
14
+ end
15
+
16
+ def test_namespace
17
+ TmpFile.with_dir do |dir|
18
+ kb = KnowledgeBase.new dir, "Hsa"
19
+ assert_equal "Hsa", kb.namespace
20
+ kb.save
21
+
22
+ kb = KnowledgeBase.load dir
23
+ assert_equal "Hsa", kb.namespace
24
+ end
25
+ end
26
+ end
27
+
@@ -427,4 +427,19 @@ row2 A B Id3
427
427
  assert_equal %w(a aa aaa), tsv["row1"]
428
428
  end
429
429
  end
430
+
431
+ def test_number_key
432
+ content =<<-EOF
433
+ #Id ValueA ValueB OtherID
434
+ 1 a|aa|aaa b Id1|Id2
435
+ 2 A B Id3
436
+ EOF
437
+
438
+ TmpFile.with_file(content) do |filename|
439
+ tsv = TSV.open(filename, :sep => /\s+/, field: "ValueB")
440
+ assert_equal "b", tsv["1"]
441
+ end
442
+
443
+
444
+ end
430
445
  end
@@ -317,4 +317,8 @@ k4 a|A b|B
317
317
  assert Open.read(tmp_logfile).include?("directly into")
318
318
  end
319
319
  end
320
+
321
+ def test_acceptable_parser_options
322
+ assert_include TSV.acceptable_parser_options, :namespace
323
+ end
320
324
  end
@@ -153,4 +153,17 @@ row2 A2 B2
153
153
  tsv = TSV.open(content)
154
154
  assert_equal %w(A1), tsv.to_double["row1"]["ValueA"]
155
155
  end
156
+
157
+ def test_head
158
+ content =<<-EOF
159
+ #: :sep=" "
160
+ #ID ValueA ValueB
161
+ row1 A1 B1
162
+ row2 A2 B2
163
+ row3 A3 B3
164
+ EOF
165
+
166
+ tsv = TSV.open(content)
167
+ assert_equal ["row1", "row2"], tsv.head(2).keys
168
+ end
156
169
  end
@@ -3,6 +3,17 @@ require File.expand_path(__FILE__).sub(%r(.*/test/), '').sub(/test_(.*)\.rb/,'\1
3
3
  require 'scout/workflow'
4
4
 
5
5
  class TestStepInfo < Test::Unit::TestCase
6
+ def test_benchmark
7
+ i = {a:1, b: [1,2], c: "String"}
8
+ times = 100000
9
+ Misc.benchmark(times) do
10
+ Marshal.dump(i)
11
+ end
12
+ Misc.benchmark(times) do
13
+ i.to_json
14
+ end
15
+ end
16
+
6
17
  def test_dependency
7
18
  TmpFile.with_file do |tmpdir|
8
19
  Path.setup(tmpdir)
@@ -0,0 +1,22 @@
1
+ require File.expand_path(__FILE__).sub(%r(/test/.*), '/test/test_helper.rb')
2
+ require File.expand_path(__FILE__).sub(%r(.*/test/), '').sub(/test_(.*)\.rb/,'\1')
3
+
4
+ require 'scout/workflow'
5
+ class TestWorkflowInfo < Test::Unit::TestCase
6
+ def test_task_info
7
+ m = Module.new do
8
+ extend Workflow
9
+ self.name = "TestWF"
10
+
11
+ input :option1
12
+ task :step1 do end
13
+
14
+ dep :step1
15
+ input :option2
16
+ task :step2 do end
17
+ end
18
+ info = m.task_info :step2
19
+ assert_equal "TestWF/step2", info[:id]
20
+ end
21
+ end
22
+
data/test/test_helper.rb CHANGED
@@ -72,3 +72,20 @@ class Test::Unit::TestCase
72
72
  Test::Unit::TestCase.datafile_test(file)
73
73
  end
74
74
  end
75
+
76
+ module Object::Person
77
+ extend Entity
78
+
79
+ annotation :language
80
+
81
+ property :salutation do
82
+ case language
83
+ when 'es'
84
+ "Hola #{self}"
85
+ else
86
+ "Hi #{self}"
87
+ end
88
+ end
89
+ end
90
+
91
+ Object::Person.add_identifiers Test::Unit::TestCase.datafile_test(:person).identifiers
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scout-gear
3
3
  version: !ruby/object:Gem::Version
4
- version: 10.7.2
4
+ version: 10.7.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Vazquez
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-12-10 00:00:00.000000000 Z
10
+ date: 2025-03-10 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: scout-essentials
@@ -156,6 +155,13 @@ files:
156
155
  - lib/scout/entity/named_array.rb
157
156
  - lib/scout/entity/object.rb
158
157
  - lib/scout/entity/property.rb
158
+ - lib/scout/knowledge_base.rb
159
+ - lib/scout/knowledge_base/enrichment.rb
160
+ - lib/scout/knowledge_base/entity.rb
161
+ - lib/scout/knowledge_base/list.rb
162
+ - lib/scout/knowledge_base/query.rb
163
+ - lib/scout/knowledge_base/registry.rb
164
+ - lib/scout/knowledge_base/traverse.rb
159
165
  - lib/scout/offsite.rb
160
166
  - lib/scout/offsite/exceptions.rb
161
167
  - lib/scout/offsite/ssh.rb
@@ -226,6 +232,7 @@ files:
226
232
  - lib/scout/workflow/step/status.rb
227
233
  - lib/scout/workflow/task.rb
228
234
  - lib/scout/workflow/task/dependencies.rb
235
+ - lib/scout/workflow/task/info.rb
229
236
  - lib/scout/workflow/task/inputs.rb
230
237
  - lib/scout/workflow/usage.rb
231
238
  - lib/scout/workflow/util.rb
@@ -234,12 +241,16 @@ files:
234
241
  - scout_commands/alias
235
242
  - scout_commands/batch/clean
236
243
  - scout_commands/batch/list
237
- - scout_commands/db/query
238
- - scout_commands/db/register
239
- - scout_commands/db/show
240
244
  - scout_commands/doc
241
245
  - scout_commands/find
242
246
  - scout_commands/glob
247
+ - scout_commands/kb/config
248
+ - scout_commands/kb/entities
249
+ - scout_commands/kb/list
250
+ - scout_commands/kb/query
251
+ - scout_commands/kb/register
252
+ - scout_commands/kb/show
253
+ - scout_commands/kb/traverse
243
254
  - scout_commands/log
244
255
  - scout_commands/offsite
245
256
  - scout_commands/rbbt
@@ -270,6 +281,12 @@ files:
270
281
  - test/scout/entity/test_named_array.rb
271
282
  - test/scout/entity/test_object.rb
272
283
  - test/scout/entity/test_property.rb
284
+ - test/scout/knowledge_base/test_enrichment.rb
285
+ - test/scout/knowledge_base/test_entity.rb
286
+ - test/scout/knowledge_base/test_list.rb
287
+ - test/scout/knowledge_base/test_query.rb
288
+ - test/scout/knowledge_base/test_registry.rb
289
+ - test/scout/knowledge_base/test_traverse.rb
273
290
  - test/scout/offsite/test_ssh.rb
274
291
  - test/scout/offsite/test_step.rb
275
292
  - test/scout/offsite/test_sync.rb
@@ -290,6 +307,7 @@ files:
290
307
  - test/scout/persist/tsv/test_serialize.rb
291
308
  - test/scout/test_association.rb
292
309
  - test/scout/test_entity.rb
310
+ - test/scout/test_knowledge_base.rb
293
311
  - test/scout/test_offsite.rb
294
312
  - test/scout/test_semaphore.rb
295
313
  - test/scout/test_tsv.rb
@@ -329,6 +347,7 @@ files:
329
347
  - test/scout/workflow/step/test_provenance.rb
330
348
  - test/scout/workflow/step/test_status.rb
331
349
  - test/scout/workflow/task/test_dependencies.rb
350
+ - test/scout/workflow/task/test_info.rb
332
351
  - test/scout/workflow/task/test_inputs.rb
333
352
  - test/scout/workflow/test_definition.rb
334
353
  - test/scout/workflow/test_documentation.rb
@@ -344,7 +363,6 @@ homepage: http://github.com/mikisvaz/scout-gear
344
363
  licenses:
345
364
  - MIT
346
365
  metadata: {}
347
- post_install_message:
348
366
  rdoc_options: []
349
367
  require_paths:
350
368
  - lib
@@ -359,8 +377,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
359
377
  - !ruby/object:Gem::Version
360
378
  version: '0'
361
379
  requirements: []
362
- rubygems_version: 3.5.23
363
- signing_key:
380
+ rubygems_version: 3.6.5
364
381
  specification_version: 4
365
382
  summary: basic gear for scouts
366
383
  test_files: []