volt-watch 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/volt/watch/version.rb +1 -1
- data/lib/volt/watch.rb +16 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4a96afdc310423ab2cb581c3cf1f86c93597d293
|
4
|
+
data.tar.gz: 05a9e8d060baf115c8bbaff640b044d8a4ee98ab
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1ba2b5b2057f19404098ecdc3209c63d984f1e1b99a74f51020bf3375ffa5f65fd43fd141ac71caa585f210b9f9336c0ad6dede1a2b7ae168896c5c6e593ced4
|
7
|
+
data.tar.gz: f44bcbc207b3f61f7286a16e0b92da0c53616744dbb9dfed7431a0032966024b969897f38571ddd270aa1acc5a731b535284a1301eca23ce2c73678802585c60
|
data/lib/volt/watch/version.rb
CHANGED
data/lib/volt/watch.rb
CHANGED
@@ -92,6 +92,7 @@ module Volt
|
|
92
92
|
traverse(arg, :shallow, except, block)
|
93
93
|
end
|
94
94
|
end
|
95
|
+
alias_method :when_changed, :on_change_in
|
95
96
|
|
96
97
|
# Does a deep traversal of all values reachable from
|
97
98
|
# the given root object(s).
|
@@ -167,7 +168,7 @@ module Volt
|
|
167
168
|
#
|
168
169
|
# ...
|
169
170
|
#
|
170
|
-
# def
|
171
|
+
# def deep_order_watch
|
171
172
|
# # one argument in given block has no detail of change
|
172
173
|
# on_deep_change_in orders do |store._orders|
|
173
174
|
# puts "something unknown changed in orders"
|
@@ -206,6 +207,7 @@ module Volt
|
|
206
207
|
end
|
207
208
|
end
|
208
209
|
end
|
210
|
+
alias_method :when_changed_deeply, :on_change_in
|
209
211
|
|
210
212
|
# Stops and destroys all current watches.
|
211
213
|
# Call when watches are no longer required.
|
@@ -236,6 +238,7 @@ module Volt
|
|
236
238
|
end
|
237
239
|
|
238
240
|
def traverse(node, mode, except, block)
|
241
|
+
debug __method__, __LINE__, "node=#{node} mode=#{mode} except=#{except}"
|
239
242
|
if node.is_a?(Volt::Model)
|
240
243
|
traverse_model(node, mode, except, block)
|
241
244
|
elsif node.is_a?(Volt::ReactiveArray)
|
@@ -246,7 +249,8 @@ module Volt
|
|
246
249
|
end
|
247
250
|
|
248
251
|
def traverse_array(array, mode, except, block)
|
249
|
-
|
252
|
+
debug __method__, __LINE__, "array=#{array} mode=#{mode} except=#{except}"
|
253
|
+
compute_size(array, mode, except, block)
|
250
254
|
array.size.times do |i|
|
251
255
|
# must access through array[i] to trigger dependency
|
252
256
|
compute_value(array, i, ->{ array[i] }, mode, except, block)
|
@@ -311,7 +315,9 @@ module Volt
|
|
311
315
|
|
312
316
|
def compute_size(collection, mode, except, block)
|
313
317
|
unless except && except.include?(:size)
|
318
|
+
debug __method__, __LINE__, "collection=#{collection} mode=#{mode} except=#{except}"
|
314
319
|
compute_term mode, ->{ block.call(collection, :size, collection.size) }
|
320
|
+
debug __method__, __LINE__, "collection=#{collection} mode=#{mode} except=#{except}"
|
315
321
|
end
|
316
322
|
end
|
317
323
|
|
@@ -324,5 +330,13 @@ module Volt
|
|
324
330
|
(@watches ||= []) << proc.watch!
|
325
331
|
end
|
326
332
|
|
333
|
+
def debug(method, line, msg = nil)
|
334
|
+
s = ">>> #{self.class.name}##{method}[#{line}] : #{msg}"
|
335
|
+
if RUBY_PLATFORM == 'opal'
|
336
|
+
Volt.logger.debug s
|
337
|
+
else
|
338
|
+
puts s
|
339
|
+
end
|
340
|
+
end
|
327
341
|
end
|
328
342
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: volt-watch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Colin Gunn
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-02-02 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description:
|
14
14
|
email:
|