rbbt-util 5.34.16 → 5.34.18

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
  SHA256:
3
- metadata.gz: 5b76f18c79a3b52708203f69eb7cd9baff8cb07feb2a4b26850094cfda9b9edc
4
- data.tar.gz: 8511317ae202283e8138746485e74d39b28881b78b85539c521e94309337782e
3
+ metadata.gz: 7908cbea1335046bacccf47660d8856ca1a0b0cca90ab485016db0a1f69ddbb3
4
+ data.tar.gz: ef217b34b1a3ca47405a3a58f77975a4e9395d9977b2d03bf4cea2c015a566bb
5
5
  SHA512:
6
- metadata.gz: 71dd9c6806e8129fa08b466ddd3e8ea7172a0938000f399b030ef89a5f40321b08f24f6b98ba823ac72317460f45dbc9a8fc88c65899582766a542fde55adb24
7
- data.tar.gz: 0b6d4b0aea41c92161193ffb379ee86e44715298ebf6d26d585ffb6292ae89a77e82a9764f07630106510c45bc5b56193b716de9edd71ed52cb4046f711d2e24
6
+ metadata.gz: 56b7b51a7291715af3af357d58166b82aeae89fc70ad2e68d854a2beec2ee0dd253319f1d785303454bb06245603c2b798112c403324a1a5c829cb86a0ef2a34
7
+ data.tar.gz: 906cfaf9ca2945cf68214b04d15b67c19ce8551f626ea65379d562e7059edd0d16b9b07bc6eec5889249050ba89fbc1da54c612599f44aed557ec6d32610e4af
@@ -136,7 +136,8 @@ module AssociationItem
136
136
  end
137
137
 
138
138
  property :filter => :array do |*args,&block|
139
- keys = tsv.with_unnamed do tsv.select(*args,&block).keys end
139
+ block = args.pop if Proc === args.last
140
+ keys = tsv.with_unnamed do tsv.select(*args, &block).keys end
140
141
  keys = self.annotate keys
141
142
  keys
142
143
  end
data/lib/rbbt/entity.rb CHANGED
@@ -158,23 +158,23 @@ module Entity
158
158
  when :single, :single2array
159
159
  single_name = "_single_" << name
160
160
  define_method single_name, &block
161
- define_method name do |*args|
161
+ define_method name do |*args, &block|
162
162
  if Array === self
163
163
  res = self.collect{|e| e.send(single_name, *args)}
164
164
  res.first.annotate(res) if Annotated === res.first && type == :single2array
165
165
  res
166
166
  else
167
- self.send(single_name, *args)
167
+ self.send(single_name, *args, &block)
168
168
  end
169
169
  end
170
170
  when :array, :array2single
171
171
  ary_name = "_ary_" << name
172
172
  define_method ary_name, &block
173
173
 
174
- define_method name do |*args|
174
+ define_method name do |*args, &block|
175
175
  case
176
176
  when Array === self
177
- self.send(ary_name, *args)
177
+ self.send(ary_name, *args, &block)
178
178
  when (Array === self.container and not self.container_index.nil? and self.container.respond_to? ary_name)
179
179
  cache_code = Misc.hash2md5({:name => ary_name, :args => args})
180
180
  res = (self.container._ary_property_cache[cache_code] ||= self.container.send(name, *args))
@@ -184,7 +184,7 @@ module Entity
184
184
  res[self.container_index]
185
185
  end
186
186
  else
187
- res = self.make_list.send(ary_name, *args)
187
+ res = self.make_list.send(ary_name, *args, &block)
188
188
  Hash === res ? res[self] : res[0]
189
189
  end
190
190
  end
@@ -23,7 +23,7 @@ class KnowledgeBase
23
23
  entity_options = self.entity_options
24
24
  IndiferentHash.setup entity_options if entity_options and not IndiferentHash === entity_options
25
25
  options = entity_options[type.to_s] || entity_options[Entity.formats[type.to_s].to_s] || {}
26
- options[:format] = @format[type] if @format.include? :type
26
+ options[:format] = @format[type] if Hash === @format && @format.include?(type)
27
27
  namespace = self.namespace
28
28
  namespace = db_namespace(database_name) if namespace.nil? and database_name
29
29
  options = {:organism => namespace}.merge(options)
@@ -354,7 +354,7 @@ module Path
354
354
 
355
355
  def yaml
356
356
  self.open do |f|
357
- YAML.load f
357
+ YAML.unsafe_load f
358
358
  end
359
359
  end
360
360
 
data/lib/rbbt/resource.rb CHANGED
@@ -71,6 +71,10 @@ module Resource
71
71
  end
72
72
  end
73
73
 
74
+ def claims
75
+ resources.keys.collect{|path| path.sub(subdir, '').sub(/^\//,'') }
76
+ end
77
+
74
78
  attr_accessor :server_missing_resource_cache
75
79
  def get_from_server(path, final_path, remote_server = nil)
76
80
  remote_server ||= self.remote_server
data/lib/rbbt/tsv/util.rb CHANGED
@@ -377,7 +377,7 @@ module TSV
377
377
  return self
378
378
  when :list
379
379
  through do |k,v|
380
- new[k] = v.first
380
+ new[k] = v.nil? ? nil : v.first
381
381
  end
382
382
  end
383
383
  end
@@ -35,7 +35,7 @@ module Misc
35
35
  v_range = v_max - v_min
36
36
  range = max.to_f - min.to_f
37
37
 
38
- v.collect{|e| min + range * (e.to_f - v_min) / v_range }
38
+ v.collect{|e| (e.nil? || e.nan?) ? e : min + range * (e.to_f - v_min) / v_range }
39
39
  end
40
40
 
41
41
  def self.sum(list)
@@ -493,7 +493,7 @@ class Step
493
493
  begin Exception
494
494
  execute_and_dup(step, dep_step)
495
495
  rescue
496
- raise $! unless canfail_paths.include? step.path
496
+ raise $! unless canfail_paths.include?(step.path)
497
497
  end
498
498
  end
499
499
 
@@ -87,5 +87,25 @@ class TestProgress < Test::Unit::TestCase
87
87
  end
88
88
  end
89
89
 
90
+ def test_file
91
+ size = 10000
92
+
93
+ TmpFile.with_file do |file|
94
+
95
+ Log::ProgressBar.with_bar(size, :desc => "Bar 1", :file => file) do |bar|
96
+ bar.init
97
+ nums = []
98
+ 100.times do
99
+ nums << rand(size)
100
+ end
101
+ nums.sort.each do |num|
102
+ bar.pos num
103
+ sleep 0.1
104
+ end
105
+ bar.tick
106
+ end
107
+ end
108
+ end
109
+
90
110
  end
91
111
 
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.34.16
4
+ version: 5.34.18
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Vazquez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-10-05 00:00:00.000000000 Z
11
+ date: 2022-11-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake