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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 108b4c2bc3678fe9fc9354bb9a7f1b3428024de4db42bd983a2eb147b55636e3
4
- data.tar.gz: 86b2acf1496bc75ed53a7ae33ac57e6f53d5bde10b5a5293433dab5db4c0f8b0
3
+ metadata.gz: a0ca3c65791fc6ed5dcb22b1e966061aa0e80a290a9edf3121fe8229441ebe29
4
+ data.tar.gz: d2e14d5f93526625d4b748f9498d2419c9fb8e7f759a9381c0c4ab47024242c2
5
5
  SHA512:
6
- metadata.gz: 2a8f8932608aab2ef7a3e072f0966e862f44c140c6d9157636eb1be703b2901ac0f04fa130a08c83f9fa115a5e88695603310706dba54fac16c2a3d7663b3f85
7
- data.tar.gz: b5ed5a64a010537e42cbc67bee83e8539e68badc70665fd0560e7721569aa259e5709ca01e57afcb2e1863f10fbc43e81686263e2e3c2f6c9fb2fd518f510365
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::EventServiceProxy.new
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 DebounceEventService from '../lib/assets/javascript/debounced/event_service.mjs';
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 DebounceEventService(socketDescriptor).listen();
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 DebounceEventService {
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('DebounceEventService listening on', this._socketDescriptor);
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
@@ -2,7 +2,7 @@ require 'socket'
2
2
  require 'active_support/json'
3
3
 
4
4
  module Debounced
5
- class EventServiceProxy
5
+ class ServiceProxy
6
6
  DELIMITER = "\f".freeze
7
7
 
8
8
  def initialize
@@ -1,3 +1,3 @@
1
1
  module Debounced
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
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.3
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/debounced/event_service.mjs
100
+ - lib/assets/javascript/debounce_service.mjs
101
101
  - lib/debounced.rb
102
- - lib/debounced/event_service_proxy.rb
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: