rbbt-util 5.13.29 → 5.13.30

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: 17adbad9eb7b34f9e8e73dd6d07100524d087d2a
4
- data.tar.gz: eff0d8f0b268e2ce676f1f0fee5fb74b39edb180
3
+ metadata.gz: 547e2309e238341b65561d216fc6324b85a13165
4
+ data.tar.gz: b7865ac59ad7bed3894c9fbb24ae3bd8da15f38d
5
5
  SHA512:
6
- metadata.gz: 01362bc1fce56034de6132d1ba60b3e1eab70d943e65b71195fd6be85397bdb947077b7dedc4cdfcb795b889bdae3f160462ed8d8e2d37d37b332905aca3c34e
7
- data.tar.gz: 66c449d2b05aadc792bf9a8b401ec8dd57dee7408ac1144d281edf651b1f71db4d10e8e52c57d735d935dd10a1fb61c984101c7acc2a10430843386ce4595414
6
+ metadata.gz: 98235141db97b051c8c5f6f4c3125937f2ba427407f960de9abc212662578e553024062289feb7f90bd65e763f6084fc4eb33b39b4d52bc743bdca8dd5a0e3ef
7
+ data.tar.gz: 5cfd97fbd116dbd802c99d477da00ce7b852531e41e7c5f59ea8c84cbf0d07e2bb67a0dd57c5efc1a0a1b938b8400f664567b767a9215a7f7f3093944591ef7f
data/lib/rbbt/tsv.rb CHANGED
@@ -34,7 +34,7 @@ module TSV
34
34
 
35
35
  IndiferentHash.setup(options)
36
36
  ENTRIES.each do |entry|
37
- hash.send("#{ entry }=", options[entry]) if options.include? entry
37
+ hash.send("#{ entry }=", options[entry.to_s]) if options.include? entry.to_s
38
38
  hash.send("#{ entry }=", options[entry.to_sym]) if options.include? entry.to_sym
39
39
  end
40
40
 
@@ -84,6 +84,7 @@ module TSV
84
84
  end
85
85
  end
86
86
 
87
+
87
88
  data.unnamed = unnamed unless unnamed.nil?
88
89
 
89
90
  data.entity_options = entity_options
@@ -92,7 +93,13 @@ module TSV
92
93
  data.identifiers = Path.setup(data.identifiers, source.pkgdir, source.resource)
93
94
  end
94
95
 
95
- data
96
+ if data.respond_to? :persistence_path
97
+ data
98
+ else
99
+ h = data.dup
100
+ data.clear
101
+ data.annotate h
102
+ end
96
103
  end
97
104
 
98
105
  def self.parse_header(stream, options = {})
@@ -82,27 +82,41 @@ module TSV
82
82
  res
83
83
  end
84
84
 
85
- def self.extended(data)
86
- if not data.respond_to? :write
87
- class << data
88
- attr_accessor :writable
85
+ def close
86
+ begin
87
+ super
88
+ rescue Exception
89
+ self
90
+ end
91
+ end
89
92
 
90
- def close
91
- end
93
+ def read(force = false)
94
+ begin
95
+ super
96
+ rescue Exception
97
+ @writable = false
98
+ self
99
+ end
100
+ end
92
101
 
93
- def read(force = false)
94
- @writable = false
95
- self
96
- end
102
+ def write(force = false)
103
+ begin
104
+ super
105
+ rescue Exception
106
+ @writable = true
107
+ self
108
+ end
109
+ end
97
110
 
98
- def write(force = false)
99
- @writable = true
100
- self
101
- end
111
+ def write?
112
+ @writable
113
+ end
114
+
115
+ def self._extended(data)
116
+ if not data.respond_to? :write
117
+ class << data
118
+ attr_accessor :writable
102
119
 
103
- def write?
104
- @writable
105
- end
106
120
  end
107
121
  end
108
122
  end
@@ -114,6 +128,16 @@ module TSV
114
128
  ENTRY_KEYS = Set.new
115
129
  NIL_VALUE = "NIL_VALUE"
116
130
 
131
+ def load_entry_value(value)
132
+ return value unless respond_to? :persistence_path
133
+ (value.nil? or value == SERIALIZED_NIL) ? nil : TSV_SERIALIZER.load(value)
134
+ end
135
+
136
+ def dump_entry_value(value)
137
+ return value unless respond_to? :persistence_path
138
+ (value.nil? or value == SERIALIZED_NIL) ? SERIALIZED_NIL : TSV_SERIALIZER.dump(value)
139
+ end
140
+
117
141
  def self.entry(*entries)
118
142
  entries = entries.collect{|entry| entry.to_s}
119
143
  ENTRIES.concat entries
@@ -125,7 +149,7 @@ module TSV
125
149
  TSV.send(:define_method, entry) do
126
150
  return instance_variable_get(var_name) if instance_variables.include? var_name
127
151
  svalue = self.send(:[], key, :entry_key)
128
- value = (svalue.nil? or svalue == SERIALIZED_NIL) ? nil : TSV_SERIALIZER.load(svalue)
152
+ value = load_entry_value(svalue)
129
153
  instance_variable_set(var_name, value)
130
154
  value
131
155
  end
@@ -133,7 +157,7 @@ module TSV
133
157
  TSV.send(:define_method, entry + "=") do |value|
134
158
  instance_variable_set(var_name, value)
135
159
  value = value.to_s if Path === value
136
- self.send(:[]=, key, (value.nil? ? SERIALIZED_NIL : TSV_SERIALIZER.dump(value)), :entry_key)
160
+ self.send(:[]=, key, dump_entry_value(value), :entry_key)
137
161
  value
138
162
  end
139
163
 
@@ -153,7 +177,7 @@ module TSV
153
177
 
154
178
  def serializer=(serializer)
155
179
  @serializer = serializer
156
- self.send(:[]=, KEY_PREFIX + 'serializer', (serializer.nil? ? SERIALIZED_NIL : TSV_SERIALIZER.dump(serializer)), :entry_key)
180
+ self.send(:[]=, KEY_PREFIX + 'serializer', dump_entry_value(serializer), :entry_key)
157
181
  @serializar_module = serializer.nil? ? TSV::CleanSerializer : SERIALIZER_ALIAS[serializer.to_sym]
158
182
  end
159
183
 
@@ -408,7 +432,8 @@ module TSV
408
432
 
409
433
 
410
434
  def fields
411
- @fields ||= TSV_SERIALIZER.load(self.send(:[], "__tsv_hash_fields", :entry_key) || SERIALIZED_NIL)
435
+ #@fields ||= TSV_SERIALIZER.load(self.send(:[], "__tsv_hash_fields", :entry_key) || SERIALIZED_NIL)
436
+ @fields ||= load_entry_value(self.send(:[], "__tsv_hash_fields", :entry_key))
412
437
  if true or @fields.nil? or @unnamed
413
438
  @fields
414
439
  else
@@ -417,15 +442,15 @@ module TSV
417
442
  end
418
443
 
419
444
  def namespace=(value)
420
- self.send(:[]=, "__tsv_hash_namespace", value.nil? ? SERIALIZED_NIL : TSV::TSV_SERIALIZER.dump(value), true)
445
+ #self.send(:[]=, "__tsv_hash_namespace", value.nil? ? SERIALIZED_NIL : TSV::TSV_SERIALIZER.dump(value), true)
446
+ self.send(:[]=, "__tsv_hash_namespace", dump_entry_value(value), true)
421
447
  @namespace = value
422
448
  @entity_options = nil
423
449
  end
424
450
 
425
451
  def fields=(value)
426
452
  clean = true
427
- value_ym = value.nil? ? SERIALIZED_NIL : TSV::TSV_SERIALIZER.dump(value)
428
- self.send(:[]=, "__tsv_hash_fields", value_ym, clean)
453
+ self.send(:[]=, "__tsv_hash_fields", dump_entry_value(value), clean)
429
454
  @fields = value
430
455
  @named_fields = nil
431
456
  end
@@ -423,7 +423,7 @@ module Workflow
423
423
  end
424
424
 
425
425
  def rec_inputs(taskname)
426
- [taskname].concat(rec_dependencies(taskname)).inject([]){|acc, tn| acc.concat((Array === tn ? tn.first.tasks[tn.last] : tasks[tn.to_sym]).inputs) }
426
+ [taskname].concat(rec_dependencies(taskname)).inject([]){|acc, tn| acc.concat((Array === tn ? tn.first.tasks[tn.last] : tasks[tn.to_sym]).inputs) }.uniq
427
427
  end
428
428
 
429
429
  def rec_input_defaults(taskname)
@@ -62,7 +62,7 @@ if inputs and inputs.any?
62
62
  when TrueClass, FalseClass
63
63
  puts " " << Misc.format_definition_list_item(input, value.to_s, 80, 20, :blue)
64
64
  else
65
- text = value.split("\n")[0..5].compact * "\n\n"
65
+ text = value.to_s.split("\n")[0..5].compact * "\n\n"
66
66
  puts " " << Misc.format_definition_list_item(input, text, 80, 20, :blue)
67
67
  end
68
68
  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.13.29
4
+ version: 5.13.30
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Vazquez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-31 00:00:00.000000000 Z
11
+ date: 2014-06-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake