rbbt-util 5.13.29 → 5.13.30

Sign up to get free protection for your applications and to get access to all the features.
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