selfsdk 0.0.202 → 0.0.203

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 74920fded29921c1b8b2556d0b1bc3e2e364a98e1f7bc186b90662985c5e6ddc
4
- data.tar.gz: f9f99f488a85b1b34d55fecff7c7f32bdc8090238c517883e62067cb21116490
3
+ metadata.gz: ea79de24bb9968fdd994ea934e93665edbd640ab6eb69b129a692f3eee92ae90
4
+ data.tar.gz: 94bef0e9ad11a2bc9362d02105ef023ec7e635ae253d3b653c263d1130d21e52
5
5
  SHA512:
6
- metadata.gz: 1b71aaf4e476242853c61942d4e4cf45033b151647e2a1b2a84d6895f1194f8d04b00db543a3135735ec3628344618c8b541b3abdb7dc58ed810eec5833343ba
7
- data.tar.gz: f4d53c796139927947f2d20e2c75e5bd5b5002785ceaad2d3200c698e3115f91e212165d136ab8e0641848a69f67c6213e471bc11c4e40211beb019c30a8d71f
6
+ metadata.gz: b72a3aa8ba3d723404c59854a2d2b1fd96ab5954506f064fc1b34459c5b31cec20551664fd7133929777be3d2def925a2d3a8a991de9c2b76ab2f725a3572335
7
+ data.tar.gz: 3ef093c5fb94a36cb91ef2576eb5b38f9b401694d8464f35c588f6b45e29860251383fe697d655c66c5af9135b0af759bc6d82a5dea4363b48e1110245b9ad27
@@ -10,6 +10,12 @@ require_relative "chat_message_delivered"
10
10
  require_relative "chat_invite"
11
11
  require_relative "chat_join"
12
12
  require_relative "chat_remove"
13
+ require_relative "voice_setup"
14
+ require_relative "voice_start"
15
+ require_relative "voice_accept"
16
+ require_relative "voice_stop"
17
+ require_relative "voice_busy"
18
+ require_relative "voice_summary"
13
19
  require_relative "document_sign_resp"
14
20
  require_relative "connection_response"
15
21
 
@@ -59,6 +65,24 @@ module SelfSDK
59
65
  when SelfSDK::Messages::ConnectionResponse::MSG_TYPE
60
66
  m = ConnectionResponse.new(messaging)
61
67
  m.parse(body, envelope)
68
+ when SelfSDK::Messages::VoiceSetup::MSG_TYPE
69
+ m = VoiceSetup.new(messaging)
70
+ m.parse(body, envelope)
71
+ when SelfSDK::Messages::VoiceStart::MSG_TYPE
72
+ m = VoiceStart.new(messaging)
73
+ m.parse(body, envelope)
74
+ when SelfSDK::Messages::VoiceAccept::MSG_TYPE
75
+ m = VoiceAccept.new(messaging)
76
+ m.parse(body, envelope)
77
+ when SelfSDK::Messages::VoiceBusy::MSG_TYPE
78
+ m = VoiceBusy.new(messaging)
79
+ m.parse(body, envelope)
80
+ when SelfSDK::Messages::VoiceStop::MSG_TYPE
81
+ m = VoiceStop.new(messaging)
82
+ m.parse(body, envelope)
83
+ when SelfSDK::Messages::VoiceSummary::MSG_TYPE
84
+ m = VoiceSummary.new(messaging)
85
+ m.parse(body, envelope)
62
86
  else
63
87
  raise StandardError.new("Invalid message type #{payload[:typ]}.")
64
88
  end
@@ -0,0 +1,19 @@
1
+ # Copyright 2020 Self Group Ltd. All Rights Reserved.
2
+
3
+ # frozen_string_literal: true
4
+
5
+ require_relative 'chat'
6
+
7
+ module SelfSDK
8
+ module Messages
9
+ class VoiceAccept < Chat
10
+ MSG_TYPE = "chat.voice.accept"
11
+
12
+ def parse(input, envelope=nil)
13
+ super
14
+ @typ = MSG_TYPE
15
+ end
16
+
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ # Copyright 2020 Self Group Ltd. All Rights Reserved.
2
+
3
+ # frozen_string_literal: true
4
+
5
+ require_relative 'chat'
6
+
7
+ module SelfSDK
8
+ module Messages
9
+ class VoiceBusy < Chat
10
+ MSG_TYPE = "chat.voice.busy"
11
+
12
+ def parse(input, envelope=nil)
13
+ super
14
+ @typ = MSG_TYPE
15
+ end
16
+
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ # Copyright 2020 Self Group Ltd. All Rights Reserved.
2
+
3
+ # frozen_string_literal: true
4
+
5
+ require_relative 'chat'
6
+
7
+ module SelfSDK
8
+ module Messages
9
+ class VoiceSetup < Chat
10
+ MSG_TYPE = "chat.voice.setup"
11
+
12
+ def parse(input, envelope=nil)
13
+ super
14
+ @typ = MSG_TYPE
15
+ end
16
+
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ # Copyright 2020 Self Group Ltd. All Rights Reserved.
2
+
3
+ # frozen_string_literal: true
4
+
5
+ require_relative 'chat'
6
+
7
+ module SelfSDK
8
+ module Messages
9
+ class VoiceStart < Chat
10
+ MSG_TYPE = "chat.voice.start"
11
+
12
+ def parse(input, envelope=nil)
13
+ super
14
+ @typ = MSG_TYPE
15
+ end
16
+
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ # Copyright 2020 Self Group Ltd. All Rights Reserved.
2
+
3
+ # frozen_string_literal: true
4
+
5
+ require_relative 'chat'
6
+
7
+ module SelfSDK
8
+ module Messages
9
+ class VoiceStop < Chat
10
+ MSG_TYPE = "chat.voice.stop"
11
+
12
+ def parse(input, envelope=nil)
13
+ super
14
+ @typ = MSG_TYPE
15
+ end
16
+
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ # Copyright 2020 Self Group Ltd. All Rights Reserved.
2
+
3
+ # frozen_string_literal: true
4
+
5
+ require_relative 'chat'
6
+
7
+ module SelfSDK
8
+ module Messages
9
+ class VoiceSummary < Chat
10
+ MSG_TYPE = "chat.voice.summary"
11
+
12
+ def parse(input, envelope=nil)
13
+ super
14
+ @typ = MSG_TYPE
15
+ end
16
+
17
+ end
18
+ end
19
+ end
data/lib/messaging.rb CHANGED
@@ -414,6 +414,8 @@ module SelfSDK
414
414
  SelfSDK.logger.warn "error on #{hdr.id}"
415
415
  e = SelfMsg::Notification.new(data: data)
416
416
  SelfSDK.logger.warn "#{e.error}"
417
+ @messages[hdr.id][:response] = {error: e.error}
418
+ mark_as_acknowledged(hdr.id)
417
419
  mark_as_arrived(hdr.id)
418
420
  when SelfMsg::MsgTypeACL
419
421
  SelfSDK.logger.info "ACL received"
data/lib/selfsdk.rb CHANGED
@@ -23,6 +23,7 @@ require_relative 'services/identity'
23
23
  require_relative 'services/messaging'
24
24
  require_relative 'services/chat'
25
25
  require_relative 'services/docs'
26
+ require_relative 'services/voice'
26
27
 
27
28
  # Namespace for classes and modules that handle Self interactions.
28
29
  module SelfSDK
@@ -90,6 +91,11 @@ module SelfSDK
90
91
  @chat ||= SelfSDK::Services::Chat.new(messaging, identity)
91
92
  end
92
93
 
94
+ # Provides access to SelfSDK::Services::Voice service
95
+ def voice
96
+ @voice ||= SelfSDK::Services::Voice.new(messaging)
97
+ end
98
+
93
99
  # Provides access to SelfSDK::Services::Docs service
94
100
  def docs
95
101
  @docs ||= SelfSDK::Services::Docs.new(messaging, @client.self_url)
@@ -116,16 +116,20 @@ module SelfSDK
116
116
  class Fact
117
117
  attr_accessor :key, :value, :group
118
118
 
119
- def initialize(key, value, source, group = nil)
119
+
120
+ def initialize(key, value, source, opts = {})
120
121
  @key = key
121
122
  @value = value
122
123
  @source = source
123
- @group = group
124
+ @display_name = opts.fetch(:display_name, "")
125
+ @group = opts.fetch(:group, nil)
126
+ @type = opts.fetch(:type, nil)
124
127
  end
125
128
 
126
129
  def to_hash
127
130
  b = { key: @key, value: @value, source: @source }
128
131
  b[:group] = @group.to_hash unless @group.nil?
132
+ b[:type] = @type unless @type.nil?
129
133
  b
130
134
  end
131
135
  end
@@ -144,6 +148,42 @@ module SelfSDK
144
148
  b
145
149
  end
146
150
  end
151
+
152
+ class Delegation
153
+ TYPE = 'delegation_certificate'
154
+ attr_accessor :subjects, :actions, :effect, :resources, :conditions, :description
155
+
156
+ def initialize(subjects, actions, effect, resources, opts = {})
157
+ @subjects = subjects
158
+ @actions = actions
159
+ @effect = effect
160
+ @resources = resources
161
+ @conditions = opts.fetch(:conditions, nil)
162
+ @description = opts.fetch(:description, nil)
163
+ end
164
+
165
+ def encode
166
+ cert = {
167
+ subjects: @subjects,
168
+ actions: @actions,
169
+ effect: @effect,
170
+ resources: @resources,
171
+ }.to_json
172
+
173
+ Base64.urlsafe_encode64(cert, padding: false)
174
+ end
175
+
176
+ def self.parse(input)
177
+ b = JSON.parse(Base64.urlsafe_decode64(input))
178
+ Delegation.new(
179
+ b['subjects'],
180
+ b['actions'],
181
+ b['effect'],
182
+ b['resources'],
183
+ conditions: b['conditions'],
184
+ description: b['description'])
185
+ end
186
+ end
147
187
  end
148
188
  end
149
- end
189
+ end
data/lib/sources.rb CHANGED
@@ -56,6 +56,12 @@ module SelfSDK
56
56
  chat_remove: SelfSDK::Messages::ChatRemove::MSG_TYPE,
57
57
  document_sign_response: SelfSDK::Messages::DocumentSignResponse::MSG_TYPE,
58
58
  connection_response: SelfSDK::Messages::ConnectionResponse::MSG_TYPE,
59
+ voice_setup: SelfSDK::Messages::VoiceSetup::MSG_TYPE,
60
+ voice_start: SelfSDK::Messages::VoiceStart::MSG_TYPE,
61
+ voice_accept: SelfSDK::Messages::VoiceAccept::MSG_TYPE,
62
+ voice_busy: SelfSDK::Messages::VoiceBusy::MSG_TYPE,
63
+ voice_stop: SelfSDK::Messages::VoiceStop::MSG_TYPE,
64
+ voice_summary: SelfSDK::Messages::VoiceSummary::MSG_TYPE,
59
65
  }
60
66
  raise "invalid message type '#{s}'" unless types.key? s
61
67
  return types[s]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: selfsdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.202
4
+ version: 0.0.203
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aldgate Ventures
@@ -376,6 +376,12 @@ files:
376
376
  - lib/messages/fact_request.rb
377
377
  - lib/messages/fact_response.rb
378
378
  - lib/messages/message.rb
379
+ - lib/messages/voice_accept.rb
380
+ - lib/messages/voice_busy.rb
381
+ - lib/messages/voice_setup.rb
382
+ - lib/messages/voice_start.rb
383
+ - lib/messages/voice_stop.rb
384
+ - lib/messages/voice_summary.rb
379
385
  - lib/messaging.rb
380
386
  - lib/ntptime.rb
381
387
  - lib/selfsdk.rb