rbbt-util 5.21.104 → 5.21.106

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c0ffcca0065a417f82428c347e4283ec03ccfd75
4
- data.tar.gz: 65a8de0c4d9e0bca0e23a8d0c27e7c2b89d9ca9c
3
+ metadata.gz: 91cdec79d533941095ae1221a6048d03d0e64eb2
4
+ data.tar.gz: 3309d8b5e05b8d29f99b541d0b44d07bf9dfade3
5
5
  SHA512:
6
- metadata.gz: 871b8ef7151a8a47f91994061603859b7dfa57402b4631f74eb4f6e5f747524bb48a91ff6e1bef7abe27fb7194b3ac4c6416686c63de4c7531cf052d75b6ad7f
7
- data.tar.gz: 1db58bc5d69b28a0d58b6913cce05dae2a113c8a7723fa3bc34f08532a8886b4a2079ebd806292d92d8977c9d09591306ff7840d171473f4ff504a572ddee898
6
+ metadata.gz: 4e8af0810a521f6222f457c4193f6ba35f9727476b843c11e117737b118ca881cda79f7ebb8f7af7e7000128fafceeb8ba60e16e1afb6d4f201ed8892b159e00
7
+ data.tar.gz: c3cd43a48a8974a9a402ba268960c1359b5ea843102c72c37531d1e2b763008513596643920203a68c7e0f015fc71d38ab332a4b1e41ce82bbfca3f13261db15
data/lib/rbbt/tsv/util.rb CHANGED
@@ -320,7 +320,7 @@ module TSV
320
320
  new[k] = v.first
321
321
  end
322
322
  when :single
323
- self
323
+ return self
324
324
  when :list
325
325
  through do |k,v|
326
326
  new[k] = v.first
@@ -22,7 +22,7 @@ module Colorize
22
22
  end
23
23
  end
24
24
 
25
- def self.continuous(array, start = "#EABD5D", eend = "#40324F", percent = false)
25
+ def self.continuous(array, start = "#40324F", eend = "#EABD5D", percent = false)
26
26
  start_color = Color.new from_name(start)
27
27
  end_color = Color.new from_name(eend)
28
28
 
@@ -258,6 +258,8 @@ module Misc
258
258
  obj + " (file missing)"
259
259
  end
260
260
  when String
261
+
262
+ obj = obj.chomp if String === obj
261
263
  if obj.length > HASH2MD5_MAX_STRING_LENGTH
262
264
  sample_large_obj(obj, HASH2MD5_MAX_STRING_LENGTH) << "--" << txt_digest_str(obj)
263
265
  else
@@ -85,14 +85,22 @@ class Step
85
85
  (no_load or ENV["RBBT_NO_STREAM"]) ? @result : prepare_result(@result, @task.result_description)
86
86
  end
87
87
 
88
- def checks
89
- #rec_dependencies.collect{|dependency| (defined? WorkflowRESTClient and WorkflowRESTClient::RemoteStep === dependency) ? nil : dependency.path }.compact.uniq
88
+ def dependency_checks
90
89
  rec_dependencies.
91
90
  select{|dependency| ! (defined? WorkflowRESTClient and WorkflowRESTClient::RemoteStep === dependency) }.
92
91
  select{|dependency| ! dependency.error? }.
93
92
  collect{|dependency| dependency.path }.uniq
94
93
  end
95
94
 
95
+ def input_checks
96
+ inputs.select{|i| Step === i && i.done?}.
97
+ collect{|dependency| dependency.path }.uniq
98
+ end
99
+
100
+ def checks
101
+ dependency_checks + input_checks
102
+ end
103
+
96
104
  def updated?
97
105
  done? and checks.select{|path| File.mtime(path) > File.mtime(self.path) }.empty?
98
106
  end
@@ -83,14 +83,46 @@ Returns numer * 2 lines containing TEST
83
83
  end
84
84
  end
85
85
 
86
+ input :name, :string, "Name"
87
+ task :input_dep => :text do |name|
88
+ <<-EOF
89
+ Hi #{name}:
90
+ This is the input text
91
+ for this dependency
92
+ EOF
93
+ end
86
94
 
95
+ input :text, :text, "Input text"
96
+ task :reverse_input_text => :text do |text|
97
+ text.reverse
98
+ end
87
99
 
100
+ dep :input_dep
101
+ dep :reverse_input_text, :text => :input_dep
102
+ task :send_input_dep_to_reverse => :text do
103
+ TSV.get_stream step(:reverse_input_text)
104
+ end
88
105
  end
89
106
 
90
107
  TestWF.workdir = Rbbt.tmp.test.workflow
91
108
 
92
109
  class TestWorkflow < Test::Unit::TestCase
93
110
 
111
+ def test_update_on_input_dependency_update
112
+ send_input_dep_to_reverse_job = TestWF.job(:send_input_dep_to_reverse, nil, :name => "Miguel")
113
+ send_input_dep_to_reverse_job.clean
114
+ send_input_dep_to_reverse_job.run
115
+ input_dep_job = send_input_dep_to_reverse_job.step(:input_dep)
116
+ input_dep_job.clean
117
+ input_dep_job.run
118
+ send_input_dep_to_reverse_job = TestWF.job(:send_input_dep_to_reverse, nil, :name => "Miguel")
119
+ mtime_orig = File.mtime send_input_dep_to_reverse_job.step(:reverse_input_text).path
120
+ send_input_dep_to_reverse_job.run
121
+ mtime_new = File.mtime send_input_dep_to_reverse_job.step(:reverse_input_text).path
122
+ assert mtime_orig < mtime_new
123
+
124
+ end
125
+
94
126
  def test_helper
95
127
  assert_equal "User", TestWF.job(:user, "Default", :number => 3).run
96
128
  end
data/test/test_helper.rb CHANGED
@@ -24,6 +24,7 @@ class Test::Unit::TestCase
24
24
  end
25
25
 
26
26
  def teardown
27
+ FileUtils.rm_rf Rbbt.tmp.test.workflow.find
27
28
  #if defined? Persist
28
29
  # FileUtils.rm_rf Path.setup("", 'rbbt').tmp.test.find :user
29
30
  # Persist::CONNECTIONS.values.each do |c| c.close end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbbt-util
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.21.104
4
+ version: 5.21.106
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Vazquez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-13 00:00:00.000000000 Z
11
+ date: 2017-11-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake