debounced 0.1.3 → 0.1.4
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/README.md +3 -3
- data/exe/debounced-server +2 -2
- data/lib/assets/javascript/{debounced/event_service.mjs → debounce_service.mjs} +2 -2
- data/lib/debounced/abort_signal.rb +23 -0
- data/lib/debounced/{event_service_proxy.rb → service_proxy.rb} +1 -1
- data/lib/debounced/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a0ca3c65791fc6ed5dcb22b1e966061aa0e80a290a9edf3121fe8229441ebe29
|
4
|
+
data.tar.gz: d2e14d5f93526625d4b748f9498d2419c9fb8e7f759a9381c0c4ab47024242c2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 00c4d1ddfe2d3ecb0c03d742b63d7e38cce7a95c70f1d723e112b497cf16941f0178f3bc3c434e97dde88d66337db03ace5a5add86d7252e28875d1c22ef9fdb
|
7
|
+
data.tar.gz: 37619a355bed3d94ad841f718d09ed7ea73981a9f4c31bed5c332a8afcfa251099421247b4a4d0620ad4bd519de829ba23040d2ada4ee263d8070033eccd92e4
|
data/README.md
CHANGED
@@ -61,17 +61,17 @@ Or in your application code:
|
|
61
61
|
require 'debounced'
|
62
62
|
|
63
63
|
# Start the listener thread
|
64
|
-
proxy = Debounced::
|
64
|
+
proxy = Debounced::ServiceProxy.new
|
65
65
|
listener_thread = proxy.listen
|
66
66
|
|
67
67
|
# Debounce an event
|
68
68
|
class MyEvent
|
69
69
|
attr_reader :attributes
|
70
|
-
|
70
|
+
|
71
71
|
def initialize(data)
|
72
72
|
@attributes = data
|
73
73
|
end
|
74
|
-
|
74
|
+
|
75
75
|
def self.publish(data)
|
76
76
|
# Publish logic here
|
77
77
|
puts "Publishing event with data: #{data.inspect}"
|
data/exe/debounced-server
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#!/usr/bin/env node
|
2
|
-
import
|
2
|
+
import DebounceService from '../lib/assets/javascript/debounce_service.mjs';
|
3
3
|
|
4
4
|
// Default socket path
|
5
5
|
let socketDescriptor = process.env.DEBOUNCED_SOCKET || '/tmp/app.debounceEvents';
|
@@ -14,4 +14,4 @@ if (process.argv.length > 2) {
|
|
14
14
|
socketDescriptor = process.argv[2];
|
15
15
|
}
|
16
16
|
|
17
|
-
new
|
17
|
+
new DebounceService(socketDescriptor).listen();
|
@@ -3,7 +3,7 @@ import fs from 'fs';
|
|
3
3
|
|
4
4
|
const logLevel = process.env.LOG_LEVEL || 'info';
|
5
5
|
|
6
|
-
export default class
|
6
|
+
export default class DebounceService {
|
7
7
|
constructor(socketDescriptor) {
|
8
8
|
this._socketDescriptor = socketDescriptor;
|
9
9
|
this._timers = {};
|
@@ -37,7 +37,7 @@ export default class DebounceEventService {
|
|
37
37
|
}
|
38
38
|
|
39
39
|
listen() {
|
40
|
-
console.log('
|
40
|
+
console.log('DebounceService listening on', this._socketDescriptor);
|
41
41
|
ipc.server.start();
|
42
42
|
}
|
43
43
|
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Debounced
|
2
|
+
###
|
3
|
+
# Allow an abort signal to be passed to blocking call for graceful shutdown.
|
4
|
+
#
|
5
|
+
# Inspired by the AbortController in the DOM, but made for Ruby
|
6
|
+
# @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal
|
7
|
+
#
|
8
|
+
# For notes about thread safety of this approach,
|
9
|
+
# @see https://stackoverflow.com/questions/9620886/is-it-safe-to-set-the-boolean-value-in-thread-from-another-one
|
10
|
+
class AbortSignal
|
11
|
+
def initialize
|
12
|
+
@abort = false
|
13
|
+
end
|
14
|
+
|
15
|
+
def abort
|
16
|
+
@abort = true
|
17
|
+
end
|
18
|
+
|
19
|
+
def set?
|
20
|
+
@abort
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
data/lib/debounced/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: debounced
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gary Passero
|
@@ -97,10 +97,11 @@ files:
|
|
97
97
|
- CHANGELOG.md
|
98
98
|
- README.md
|
99
99
|
- exe/debounced-server
|
100
|
-
- lib/assets/javascript/
|
100
|
+
- lib/assets/javascript/debounce_service.mjs
|
101
101
|
- lib/debounced.rb
|
102
|
-
- lib/debounced/
|
102
|
+
- lib/debounced/abort_signal.rb
|
103
103
|
- lib/debounced/railtie.rb
|
104
|
+
- lib/debounced/service_proxy.rb
|
104
105
|
- lib/debounced/version.rb
|
105
106
|
homepage: https://github.com/flytedesk/debounced
|
106
107
|
licenses:
|