computable 1.1.0 → 1.1.1

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
  SHA256:
3
- metadata.gz: 13fb18bf83a5d205517573213cc3bcc657d6352b3f5a5edd64d204459bec2f97
4
- data.tar.gz: 4306e9149b11afe479bf5611270c5176001c54eae0ded32220eb6352beb0a2bc
3
+ metadata.gz: ec5682e86b9081039947fc2718c8cdc42d2407af8cb0da30244a41b994d917f5
4
+ data.tar.gz: f8471eed0b3144951e4bb834e63013339e1af67842278e1bac7368c82070e76d
5
5
  SHA512:
6
- metadata.gz: 7d6a66fbb762e2f49f04ac44ead89a0d022faa984de4330220833fdfe85d8bb70aef82c69e5827c3ce02e71efa57717798abcd2423f829ab500ba12db9fb2d35
7
- data.tar.gz: '097c6dcf414d402457fa2035265e8c6694aecd6ddf70cc81b90aefd5eda4f9f17f13a27beedf124dba0cb13786b8e2885fa8e3d6ef4e5af3c0477e65fdeb5a8d'
6
+ metadata.gz: 9be1797f3865b5ed1f0cbf6b98c3a8ceca6342b689212a801e55e2ad1e3499618a1439746744260d719bda4e9895c0ff080b2a2e43a971414f06f18a60f9cb33
7
+ data.tar.gz: b3852ade5823458ff7a5da0e6e89416c3c9edd326fa3466781ad52cdf876aaa8ee032949b98a52b6646f37b8b8d7256a57ff41d1a5c01c041be4b53b88738232
checksums.yaml.gz.sig CHANGED
Binary file
@@ -1,3 +1,3 @@
1
1
  class Computable
2
- VERSION = "1.1.0"
2
+ VERSION = "1.1.1"
3
3
  end
data/lib/computable.rb CHANGED
@@ -285,11 +285,7 @@ class Computable
285
285
 
286
286
  def self.calc_value name, format=nil, freeze: true, &block
287
287
  calc_method_id = "calc_#{name}".intern
288
- define_method(calc_method_id) do
289
- instance_eval(&block)
290
- rescue Exception => err
291
- improve_backtrace(err, block, name)
292
- end
288
+ define_method(calc_method_id, &block)
293
289
 
294
290
  calc_method2_id = "calc_#{name}_with_tracking".intern
295
291
  define_method(calc_method2_id) do |v|
@@ -297,7 +293,11 @@ class Computable
297
293
  Thread.current.thread_variable_set("Computable #{self.object_id}", v)
298
294
  begin
299
295
  puts "do calc #{v.inspect}" if @computable_debug
300
- res = send(calc_method_id)
296
+ begin
297
+ res = send(calc_method_id)
298
+ rescue Exception => err
299
+ improve_backtrace(err, block, name)
300
+ end
301
301
  Computable.verify_format(name, res, format)
302
302
  res.freeze if freeze
303
303
  res
@@ -0,0 +1,31 @@
1
+ require_relative 'helper'
2
+
3
+ class TestInheritance < Minitest::Test
4
+ class MyBuilder < Computable
5
+ calc_value :a do |*d|
6
+ "x#{d.inspect}"
7
+ end
8
+ end
9
+
10
+ class MyChild < MyBuilder
11
+ calc_value :a do |*d|
12
+ super() + "y#{d.inspect}"
13
+ end
14
+ end
15
+
16
+ def setup
17
+ @b = MyChild.new
18
+ end
19
+
20
+ def teardown
21
+ # @b.computable_display_dot
22
+ end
23
+
24
+ def test_super
25
+ assert_equal "x[]y[]", @b.a
26
+ end
27
+ end
28
+
29
+ class TestInheritanceParallel < TestInheritance
30
+ include Helper::EnableParallel
31
+ end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: computable
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lars Kanis
@@ -29,7 +29,7 @@ cert_chain:
29
29
  sc3NyOkGUGdfiee5VRG31Sh3LLON3YGED+zZAS+ZF6598y4vhv8MBLa1Oy357byC
30
30
  tTg=
31
31
  -----END CERTIFICATE-----
32
- date: 2022-05-18 00:00:00.000000000 Z
32
+ date: 2022-06-01 00:00:00.000000000 Z
33
33
  dependencies:
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: bundler
@@ -103,6 +103,7 @@ files:
103
103
  - test/test_expired_recalc.rb
104
104
  - test/test_format.rb
105
105
  - test/test_freeze.rb
106
+ - test/test_inheritance.rb
106
107
  - test/test_input_value.rb
107
108
  - test/test_parallel.rb
108
109
  - test/test_recursion_detection.rb
@@ -138,6 +139,7 @@ test_files:
138
139
  - test/test_expired_recalc.rb
139
140
  - test/test_format.rb
140
141
  - test/test_freeze.rb
142
+ - test/test_inheritance.rb
141
143
  - test/test_input_value.rb
142
144
  - test/test_parallel.rb
143
145
  - test/test_recursion_detection.rb
metadata.gz.sig CHANGED
Binary file