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.
- checksums.yaml +4 -4
- data/lib/weel.rb +40 -62
- data/weel.gemspec +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3f9698d078dac139a60abb0af1f58b2ef86488cf816c7115c35984142dae1fa9
|
|
4
|
+
data.tar.gz: 23e5b8577ddf3c2ee3bcff4599067a15fe7cc5529cc259e611e923d059034fb2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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