ruby_rabbitmq_janus 1.1.7 → 1.1.8

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
  SHA1:
3
- metadata.gz: 5f021ba350f01ec31ec3a312852fba9aad13bc3d
4
- data.tar.gz: 4c02fb1a5cd2bb555744412432a858cb427c19b2
3
+ metadata.gz: ffd08f2f0ae315d6330ae87407c249c8de25bb55
4
+ data.tar.gz: 12a22014d95a64e3231d1ac9de1c36b4eb4d263a
5
5
  SHA512:
6
- metadata.gz: 8e06d5e9d0fa8918e3fb05418591a1359cd745a2b5b6115131aa1065bbc58a24b9738064d107790820a688d90d858cabf4ed5fcc3ce754900141d0a0458c4eb0
7
- data.tar.gz: 34b60a33db21da0d73fd20f850af13d0a8974d69e7ce34c2f449f2f17d8a63c565180bc51659a4fd2af5c572d7ce283fad93e646618a4d6ec833712fa2455ca7
6
+ metadata.gz: 619529b2da03ed8582cb91b4009894dbfbf5cf4f4d45f8d91fda3b7e392326ac33285dbf4df3b2bb45988695875085945ce9322ddcd77760a6cd0536c93499ca
7
+ data.tar.gz: 4e15f89cb74a0b0574ec06bc518fe5e8c6393d3c68b5aefaaeaee501369f2dc0c37ccbd9a0b6204d928aaa4aa24cfc21e10da5ff1498beb448a88a0b4ee56078
data/.rubocop.yml CHANGED
@@ -9,4 +9,4 @@ Style/Encoding:
9
9
  Enabled: true
10
10
 
11
11
  Metrics/LineLength:
12
- Max: 90
12
+ Max: 80
data/CHANGELOG.md CHANGED
@@ -5,6 +5,15 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](http://keepachangelog.com/)
6
6
  and this project adheres to [Semantic Versioning](http://semver.org/).
7
7
 
8
+
9
+ ## [1.1.8] - 2016-11-29
10
+ ### Changed
11
+ - Return handle created with start_handle method
12
+ - Complete info in README.md
13
+ - Change metrics length
14
+ ### Deleted
15
+ - Delete a test script `listen.rb`
16
+
8
17
  ## [1.1.7] - 2016-11-28
9
18
  ### Changed
10
19
  - Use handle if is given in arguments for handle_message_simple
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # ruby-rabbitmq-janus
1
+ # ruby-rabbitmq-janus -- RRJ
2
2
  Ruby Gem for Janus WebRTC Gateway integration using RabbitMQ message queue
3
3
 
4
4
  This gem is used to communicate to a server Janus through RabbitMQ software (
@@ -6,6 +6,9 @@ Message-oriented middleware). It waiting a messages to Rails API who send to Rab
6
6
  server in a queue for janus server. janus processes a message and send to RabbitMQ server
7
7
  in a queue for gem. Once the received message is decoded and returned through the Rails API.
8
8
 
9
+
10
+ This gem is product by [Dazzl.tv](http://dazzl.tv)
11
+
9
12
  ## Menu
10
13
  * [How to use](#how-to-use)
11
14
  * [Installation](#installation)
@@ -14,9 +17,12 @@ in a queue for gem. Once the received message is decoded and returned through th
14
17
  * [Usage Synchrounous](#usage-with-synchronous-request)
15
18
  * [Usage Asynchrounous](#usage-with-asynchronous-request)
16
19
  * [Aliases](#aliases)
20
+ * [Upgrade](#upgrade)
17
21
  * [Development](#development)
18
22
  * [RSpec](#rspec-test)
19
23
  * [Documentation](#documentation)
24
+ * [Read documentation](#read-documentation)
25
+ * [Generate developer documentation](#generate-developer-documentation)
20
26
 
21
27
  ## How to use
22
28
 
@@ -122,6 +128,7 @@ message_template_ask_async => ask_async
122
128
  ```
123
129
 
124
130
  ## Development
131
+
125
132
  ### RSpec test
126
133
 
127
134
  ```linux
@@ -146,8 +153,18 @@ Use tags for rspec :
146
153
  | | log |
147
154
  | | config |
148
155
 
156
+ ## Upgrade
157
+
158
+ For upgrade your application read [CHANGELOG.md](CHANGELOG.md)
159
+
149
160
  ### Documentation
150
161
 
162
+ #### Read documentation
163
+
164
+ The documentation is accessible in [rubydoc](http://www.rubydoc.info/gems/ruby_rabbitmq_janus/)
165
+
166
+ #### Generate developer documentation
167
+
151
168
  This doc is generated with yard.
152
169
 
153
170
  ```
@@ -157,4 +174,4 @@ yard
157
174
  yard server
158
175
  ```
159
176
 
160
- see [Yard Getting Started](http://www.rubydoc.info/gems/yard/file/docs/GettingStarted.md)
177
+ [See Yard Getting Started](http://www.rubydoc.info/gems/yard/file/docs/GettingStarted.md)
data/lib/rrj/info.rb CHANGED
@@ -3,17 +3,19 @@
3
3
  # Define constant to gem.
4
4
  module RubyRabbitmqJanus
5
5
  # Define version to gem
6
- VERSION = '1.1.7'
6
+ VERSION = '1.1.8'
7
7
 
8
8
  # Define a summary description to gem
9
9
  SUMMARY = 'Ruby RabbitMQ Janus'
10
10
 
11
11
  # Define a long description to gem
12
- DESCRIPTION = 'This gem is used to communicate to a server Janus through RabbitMQ '\
13
- 'software (Message-oriented middleware). It waiting a messages to Rails API who ' \
14
- 'send to RabbitMQ server in a queue for janus server. Janus processes a message ' \
15
- 'and send to RabbitMQ server in a queue for gem. Once the received message is ' \
16
- 'decoded and returned through the Rails API.'
12
+ DESCRIPTION = <<-DESC
13
+ This gem is used to communicate to a server Janus through RabbitMQ software
14
+ (Message-oriented middleware). It waiting a messages to Rails API who send to
15
+ RabbitMQ server in a queue for janus server. Janus processes a message and send
16
+ to RabbitMQ server in a queue for gem. Once the received message is decoded and
17
+ returned through the Rails API.
18
+ DESC
17
19
 
18
20
  # Define homepage
19
21
  HOMEPAGE = 'https://github.com/dazzl-tv/ruby-rabbitmq-janus'
data/lib/rrj/init.rb CHANGED
@@ -13,9 +13,12 @@ require 'colorize'
13
13
 
14
14
  module RubyRabbitmqJanus
15
15
  # @author VAILLANT Jeremy <jeremy.vaillant@dazzl.tv>
16
- # Initialize gem and create automatically an session with Janus
16
+ # Initialize RRJ gem and create automatically a session with janus and
17
+ # sending a keepalive message. The Time To Live is configured in yaml
18
+ # configuration file 'config/default.yml' or
19
+ # 'config/ruby-rabbitmq-janus.yml'.
17
20
  # @!attribute [r] session
18
- # @return [Fixnum] Renturn an session number created in instanciate gem
21
+ # @return [Fixnum] Return an session number created in instantiate this gem.
19
22
  # :reek:BooleanParameter and :reek:ControlParameter and :reek:DataClump
20
23
  # :reek:LongParameterList and :reek:TooManyStatements
21
24
  class RRJ
@@ -81,7 +84,8 @@ module RubyRabbitmqJanus
81
84
  # Give an object response to janus server
82
85
  def message_admin(type, options = {})
83
86
  Janus::Transactions::Admin.new(@session).connect do
84
- Janus::Messages::Admin.new(type, options.merge!('session_id' => @session))
87
+ Janus::Messages::Admin.new(type,
88
+ options.merge!('session_id' => @session))
85
89
  end
86
90
  end
87
91
 
@@ -122,8 +126,8 @@ module RubyRabbitmqJanus
122
126
  end
123
127
 
124
128
  # Start an short transaction. Create an handle and send a message to queue.
125
- # This queue is not exclusive, so this message is sending in queue 'to-janus' and a
126
- # response is return in queue 'from-janus'
129
+ # This queue is not exclusive, so this message is sending in queue
130
+ # 'to-janus' and a response is return in queue 'from-janus'
127
131
  # @example Send an request trickle
128
132
  # candidate = {
129
133
  # 'candidate' => {
@@ -132,8 +136,12 @@ module RubyRabbitmqJanus
132
136
  # 'candidate' => '...'
133
137
  # }
134
138
  # }
135
- # RubyRabbitmqJanus::RRJ.new.handle_message_simple('peer::trickle', candidate)
136
- # #=> { 'janus' => 'trickle', ..., 'candidate' => { 'completed' : true } } }
139
+ # RubyRabbitmqJanus::RRJ.new.handle_message_simple('peer::trickle',
140
+ # candidate)
141
+ # #=> { 'janus' => 'trickle', ..., 'candidate' => {
142
+ # 'completed' : true
143
+ # }
144
+ # }
137
145
  def handle_message_simple(type, replace = {}, add = {}, exclusive = false)
138
146
  handle = replace.include?('handle_id') ? replace['handle_id'] : 0
139
147
  @transaction = Janus::Transactions::Handle.new(@session)
@@ -21,10 +21,11 @@ module RubyRabbitmqJanus
21
21
  create_handle
22
22
  yield
23
23
  end
24
+ handle
24
25
  end
25
26
 
26
- # Initialize connection to Rabbit and Janus and close after sending an received
27
- # a response
27
+ # Initialize connection to Rabbit and Janus and close after sending an
28
+ # received a response
28
29
  def handle_connect_and_stop(exclusive, sender)
29
30
  @exclusive = exclusive
30
31
  rabbit.transaction_short do
@@ -52,7 +53,8 @@ module RubyRabbitmqJanus
52
53
  # Create an handle for transaction
53
54
  def create_handle
54
55
  Tools::Log.instance.info 'Create an handle'
55
- msg = Janus::Messages::Standard.new('base::attach', 'session_id' => session)
56
+ opt = { 'session_id' => session }
57
+ msg = Janus::Messages::Standard.new('base::attach', opt)
56
58
  @handle = send_a_message_exclusive { msg }
57
59
  end
58
60
 
@@ -64,7 +66,9 @@ module RubyRabbitmqJanus
64
66
 
65
67
  # Send a messaeg in exclusive queue
66
68
  def send_a_message_exclusive
67
- Janus::Responses::Standard.new(read_response_exclusive { yield }).sender
69
+ Janus::Responses::Standard.new(read_response_exclusive do
70
+ yield
71
+ end).sender
68
72
  end
69
73
 
70
74
  # Read an response in queue exclusive
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_rabbitmq_janus
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.7
4
+ version: 1.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - VAILLANT Jeremy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-28 00:00:00.000000000 Z
11
+ date: 2016-11-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -292,11 +292,12 @@ dependencies:
292
292
  - - "~>"
293
293
  - !ruby/object:Gem::Version
294
294
  version: 0.8.1
295
- description: This gem is used to communicate to a server Janus through RabbitMQ software
296
- (Message-oriented middleware). It waiting a messages to Rails API who send to RabbitMQ
297
- server in a queue for janus server. Janus processes a message and send to RabbitMQ
298
- server in a queue for gem. Once the received message is decoded and returned through
299
- the Rails API.
295
+ description: |
296
+ This gem is used to communicate to a server Janus through RabbitMQ software
297
+ (Message-oriented middleware). It waiting a messages to Rails API who send to
298
+ RabbitMQ server in a queue for janus server. Janus processes a message and send
299
+ to RabbitMQ server in a queue for gem. Once the received message is decoded and
300
+ returned through the Rails API.
300
301
  email:
301
302
  - jeremy.vaillant@dazzl.tv
302
303
  executables: []
@@ -373,7 +374,6 @@ files:
373
374
  - lib/rrj/tools/requests.rb
374
375
  - lib/rrj/tools/tools.rb
375
376
  - lib/ruby_rabbitmq_janus.rb
376
- - listen.rb
377
377
  - rrj.gemspec
378
378
  homepage: https://github.com/dazzl-tv/ruby-rabbitmq-janus
379
379
  licenses:
data/listen.rb DELETED
@@ -1,45 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- require 'ruby_rabbitmq_janus'
5
-
6
- @t = RubyRabbitmqJanus::RRJ.new
7
- @e = RubyRabbitmqJanus::Janus::Concurrencies::Event.instance
8
-
9
- def case_event(response)
10
- puts "REASON : Event : #{response.to_hash}"
11
- end
12
-
13
- def case_hangup(data)
14
- puts "REASON : Hangup : #{data}"
15
- end
16
-
17
- def case_error(data)
18
- puts "REASON : Error : #{data}"
19
- end
20
-
21
- def case_stop
22
- puts 'REASON : Stop'
23
- Thread.current.stop
24
- end
25
-
26
- events = lambda do |reason, response|
27
- puts "Execute block code with reason : #{reason}"
28
- case reason
29
- when 'event' then case_event(response)
30
- when 'hangup' then case_hangup(response)
31
- when 'error' then case_error(response)
32
- when 'stop' then case_stop
33
- else
34
- puts 'REASON default'
35
- end
36
- puts " --\n\r"
37
- end
38
-
39
- puts '## Start listen Block'
40
- @e.run(&events)
41
- puts '## End listen block'
42
-
43
- puts '## APPS RUNNING'
44
- loop do
45
- end