signalwire 2.1.0 → 2.1.1

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: 85b3509109fd09ce52f1f579294b3723c4bfc63337584dfc753c491645221868
4
- data.tar.gz: 35cf3f667c586fc788136eec75930785c360315594246a3dd9b0800123f86ee1
3
+ metadata.gz: 52a3ee7521ca981f6ba3708c08c52546d8f0552e4984efe371ff1bfcc92f6714
4
+ data.tar.gz: 38325b6730da2aeae07b81be5e1576aa08eee4b207f7f9d43541316498ff4dd7
5
5
  SHA512:
6
- metadata.gz: 5d9261efe1e472198348e53f8f7805baa24f50c4c6282e510200b84860bb17919a7bc0b0059b73c6b9c8b078eb854592e4d88a1bd6424598a433afa44f00ab20
7
- data.tar.gz: 18ce795d935a76bad953e7128d98932b5fc24353d8d842d639628ba10bb9f69f0ddcc91fadb3c4d2443809190ecc1a2851641e03f232b196652a7b818ad03016
6
+ metadata.gz: 71519d68edfdf1cf4531c48a9c3233965be0194d06e7f08d55810684f64af8a55c7bcdf0922344f3ecc67445fb79e6e83e38a070f5021ee670ae41fb822c3c57
7
+ data.tar.gz: 96c15dd6087165ae39ef4504f552a85d1115828274c87c455ce60e448698be474412100094db1a5d621c7c5214fd37c7cb8a862be6a9b811650946dfe2436f1a
@@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file.
3
3
 
4
4
  This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
5
5
 
6
+ ## [2.1.1] 2019-08-01
7
+ ### Fixed
8
+ - Correctly set `peer` on calls
9
+ ### Changed
10
+ - Call `Consumer::teardown` on shutdown
11
+
6
12
  ## [2.1.0] 2019-07-29
7
13
  ### Added
8
14
  - Tap API for Relay
@@ -21,6 +21,10 @@ class MyConsumer < Signalwire::Relay::Consumer
21
21
 
22
22
  call.hangup
23
23
  end
24
+
25
+ def teardown
26
+ puts "this is an example of teardown"
27
+ end
24
28
  end
25
29
 
26
30
  MyConsumer.new.run
@@ -25,7 +25,7 @@ module Signalwire::Blade
25
25
  @inbound_queue = EM::Queue.new
26
26
  @outbound_queue = EM::Queue.new
27
27
 
28
- @counter = 1
28
+ @shutdown_list = []
29
29
  end
30
30
 
31
31
  def connect!
@@ -193,8 +193,19 @@ module Signalwire::Blade
193
193
 
194
194
  def shutdown_from_signal
195
195
  @shutdown = true
196
+ shutdown_registered
196
197
  disconnect!
197
198
  exit
198
199
  end
200
+
201
+ def register_for_shutdown(obj)
202
+ @shutdown_list << obj
203
+ end
204
+
205
+ def shutdown_registered
206
+ @shutdown_list.each do |obj|
207
+ obj.stop
208
+ end
209
+ end
199
210
  end
200
211
  end
@@ -46,6 +46,7 @@ module Signalwire::Relay::Calling
46
46
  change_call_state(event.event_params)
47
47
  end
48
48
 
49
+ update_call_fields(event.call_params)
49
50
  broadcast :event, event
50
51
  broadcast :state_change, event
51
52
  end
@@ -56,8 +57,6 @@ module Signalwire::Relay::Calling
56
57
  @previous_state = @state
57
58
  @state = call_state[:call_state]
58
59
  broadcast :call_state_change, previous_state: @previous_state, state: @state
59
-
60
- update_call_fields(call_state)
61
60
  broadcast @state.to_sym, previous_state: @previous_state, state: @state
62
61
  finish_call(event_params) if @state == Relay::CallState::ENDED
63
62
  end
@@ -65,6 +64,7 @@ module Signalwire::Relay::Calling
65
64
  def update_call_fields(call_state)
66
65
  @id = call_state[:call_id] if call_state[:call_id]
67
66
  @node_id = call_state[:node_id] if call_state[:node_id]
67
+ @peer = call_state[:peer] if call_state[:peer]
68
68
  end
69
69
 
70
70
  def change_connect_state(new_connect_state)
@@ -95,6 +95,10 @@ module Signalwire::Relay::Calling
95
95
  !ended?
96
96
  end
97
97
 
98
+ def peer
99
+ @client.calling.find_call_by_id(@peer[:call_id]) if @peer && @peer[:call_id]
100
+ end
101
+
98
102
  def answer
99
103
  answer_component = Signalwire::Relay::Calling::Answer.new(call: self)
100
104
  answer_component.wait_for(Relay::CallState::ANSWERED, Relay::CallState::ENDING, Relay::CallState::ENDED)
@@ -31,25 +31,21 @@ module Signalwire::Relay
31
31
  @url = host || ENV['SIGNALWIRE_HOST'] || Signalwire::Relay::DEFAULT_URL
32
32
  @client = Signalwire::Relay::Client.new(project: @project,
33
33
  token: @token, host: @url)
34
+
35
+ @client.session.register_for_shutdown(self)
34
36
  end
35
37
 
36
38
  def setup; end
37
-
38
39
  def ready; end
39
-
40
40
  def teardown; end
41
-
42
41
  def on_task(task); end
43
42
  def on_incoming_message(message); end
44
43
  def on_message_state_change(message); end
45
-
46
- def on_event(event)
47
- # all-events firespout
48
- end
49
-
44
+ def on_event(event); end
50
45
  def on_incoming_call(call); end
51
46
 
52
47
  def run
48
+ logger.info "Starting up #{self.class}"
53
49
  setup
54
50
  client.once :ready do
55
51
  setup_receive_listeners
@@ -63,6 +59,11 @@ module Signalwire::Relay
63
59
 
64
60
  def stop
65
61
  teardown
62
+ logger_thread = Thread.new do
63
+ logger.info "#{self.class} Consumer shutting down."
64
+ end
65
+ logger_thread.join
66
+
66
67
  client.disconnect!
67
68
  end
68
69
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Signalwire
4
- VERSION = '2.1.0'
4
+ VERSION = '2.1.1'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: signalwire
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - SignalWire Team
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-07-30 00:00:00.000000000 Z
11
+ date: 2019-08-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler