weel 1.99.157 → 1.99.158

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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/weel.rb +40 -62
  3. data/weel.gemspec +1 -1
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7c178eae822059636c1650312316a9a86569aa5410b1fa0925a27217eb489b9c
4
- data.tar.gz: 43d9ddbdc46507eed44a9983d432dcc33f99bd41977eef8e0c7ab3a9a4374994
3
+ metadata.gz: 3f9698d078dac139a60abb0af1f58b2ef86488cf816c7115c35984142dae1fa9
4
+ data.tar.gz: 23e5b8577ddf3c2ee3bcff4599067a15fe7cc5529cc259e611e923d059034fb2
5
5
  SHA512:
6
- metadata.gz: 344d3e94a850997740096f6bdaea7db93573c2633ff4bd615f0868f26f71bded594fac65bbb696a95e7bc17fc2bf1b07f5a246e4f0eea7b7f62a2965ff71b837
7
- data.tar.gz: 0deae3dff31f63d47f743e91a250bdadfa6a2085fa26779bbbbb34fb0c7a32ad5ac1603b14912e9eb819ac79dc4a2a154b99a47aefa28a00bedf3eefbf9c99ce
6
+ metadata.gz: 07ed16e24b8a64def6d836f66b620ab0ee8ca47c8bb3c5e40da052188696f39683f55bfad447fb05556f5aeb8efc715c4ebf669d20e5bfc7591352efd32a5e07
7
+ data.tar.gz: 516b34543d5a99f9208b4e4a6dd75a589e7842d191a64a1a7d7082074a694cf22312ae29baaf5c19ae9eec9021b3c79fd754beae15c70f6aa3f399de1cb319cb
data/lib/weel.rb CHANGED
@@ -45,6 +45,43 @@ class WEEL
45
45
  class Salvage < Exception; end
46
46
  end # }}}
47
47
 
48
+ module HashExt #{{{
49
+ alias __send send
50
+ instance_methods.each do |meth|
51
+ # skipping undef of methods that "may cause serious problems"
52
+ undef_method(meth) if meth !~ /^(__|object_id)/
53
+ end
54
+
55
+ def any?
56
+ @__weel_values&.any?
57
+ end
58
+
59
+ def empty?
60
+ @__weel_values.nil? || @__weel_values.empty?
61
+ end
62
+
63
+ def to_json(*args)
64
+ @__weel_values.nil? ? '{}' : @__weel_values.to_json(*args)
65
+ end
66
+
67
+ def method_missing(name,*args)
68
+ if args.empty? && @__weel_values.key?(name)
69
+ @__weel_values[name]
70
+ elsif args.empty? && @__weel_values.key?(name.to_s)
71
+ @__weel_values[name.to_s]
72
+ elsif name.to_s[-1..-1] == "=" && args.length == 1
73
+ temp = name.to_s[0..-2]
74
+ @__weel_values[temp.to_sym] = args[0]
75
+ elsif name.to_s == "[]=" && args.length == 2
76
+ @__weel_values[args[0]] = args[1]
77
+ elsif name.to_s == "[]" && args.length == 1
78
+ @__weel_values[args[0]]
79
+ else
80
+ nil
81
+ end
82
+ end
83
+ end #}}}
84
+
48
85
  class ReadStructure # {{{
49
86
  def initialize(data,endpoints,local,additional)
50
87
  @__weel_data = data.transform_values do |v|
@@ -201,11 +238,7 @@ class WEEL
201
238
  class ManipulateHash # {{{
202
239
  attr_reader :__weel_touched, :__weel_changed
203
240
 
204
- alias __send send
205
- instance_methods.each do |meth|
206
- # skipping undef of methods that "may cause serious problems"
207
- undef_method(meth) if meth !~ /^(__|object_id)/
208
- end
241
+ include WEEL::HashExt
209
242
 
210
243
  def initialize(values,touched,changed)
211
244
  @__weel_values = values
@@ -220,11 +253,6 @@ class WEEL
220
253
  end
221
254
  end
222
255
 
223
- def clear
224
- @__weel_changed += @__weel_values.keys
225
- @__weel_values.clear
226
- end
227
-
228
256
  def method_missing(name,*args)
229
257
  if args.empty? && @__weel_values.key?(name)
230
258
  @__weel_touched << name
@@ -264,43 +292,14 @@ class WEEL
264
292
  end #}}}
265
293
 
266
294
  class ReadHash # {{{
267
- alias __send send
268
- instance_methods.each do |meth|
269
- # skipping undef of methods that "may cause serious problems"
270
- undef_method(meth) if meth !~ /^(__|object_id)/
271
- end
295
+ include WEEL::HashExt
272
296
 
273
297
  def initialize(values)
274
298
  @__weel_values = values
275
299
  end
276
-
277
- def to_json(*args)
278
- @__weel_values.to_json(*args)
279
- end
280
-
281
- def method_missing(name,*args)
282
- if args.empty? && @__weel_values.key?(name)
283
- @__weel_values[name]
284
- elsif args.empty? && @__weel_values.key?(name.to_s)
285
- @__weel_values[name.to_s]
286
- elsif name.to_s[-1..-1] == "=" && args.length == 1
287
- temp = name.to_s[0..-2]
288
- @__weel_values[temp.to_sym] = args[0]
289
- elsif name.to_s == "[]=" && args.length == 2
290
- @__weel_values[args[0]] = args[1]
291
- elsif name.to_s == "[]" && args.length == 1
292
- @__weel_values[args[0]]
293
- else
294
- nil
295
- end
296
- end
297
300
  end # }}}
298
301
  class ReadOnlyHash # {{{
299
- alias __send send
300
- instance_methods.each do |meth|
301
- # skipping undef of methods that "may cause serious problems"
302
- undef_method(meth) if meth !~ /^(__|object_id)/
303
- end
302
+ include WEEL::HashExt
304
303
 
305
304
  def initialize(values)
306
305
  @__weel_values = values.transform_values do |v|
@@ -315,27 +314,6 @@ class WEEL
315
314
  end
316
315
  end
317
316
  end
318
-
319
- def to_json(*args)
320
- @__weel_values.to_json(*args)
321
- end
322
-
323
- def method_missing(name,*args)
324
- if args.empty? && @__weel_values.key?(name)
325
- @__weel_values[name]
326
- elsif args.empty? && @__weel_values.key?(name.to_s)
327
- @__weel_values[name.to_s]
328
- elsif name.to_s[-1..-1] == "=" && args.length == 1
329
- temp = name.to_s[0..-2]
330
- @__weel_values[temp.to_sym] = args[0]
331
- elsif name.to_s == "[]=" && args.length == 2
332
- @__weel_values[args[0]] = args[1]
333
- elsif name.to_s == "[]" && args.length == 1
334
- @__weel_values[args[0]]
335
- else
336
- nil
337
- end
338
- end
339
317
  end # }}}
340
318
 
341
319
  class ProcString #{{{
data/weel.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "weel"
3
- s.version = "1.99.157"
3
+ s.version = "1.99.158"
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.license = "LGPL-3.0-or-later"
6
6
  s.summary = "Workflow Execution Engine Library (WEEL)"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: weel
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.99.157
4
+ version: 1.99.158
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juergen eTM Mangler