ruby_rabbitmq_janus 1.1.6 → 1.1.7
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/CHANGELOG.md +6 -2
- data/lib/generators/ruby_rabbitmq_janus/initializer_generator.rb +26 -3
- data/lib/rrj/info.rb +1 -1
- data/lib/rrj/init.rb +4 -2
- data/lib/rrj/janus/transactions/handle.rb +10 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5f021ba350f01ec31ec3a312852fba9aad13bc3d
|
4
|
+
data.tar.gz: 4c02fb1a5cd2bb555744412432a858cb427c19b2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8e06d5e9d0fa8918e3fb05418591a1359cd745a2b5b6115131aa1065bbc58a24b9738064d107790820a688d90d858cabf4ed5fcc3ce754900141d0a0458c4eb0
|
7
|
+
data.tar.gz: 34b60a33db21da0d73fd20f850af13d0a8974d69e7ce34c2f449f2f17d8a63c565180bc51659a4fd2af5c572d7ce283fad93e646618a4d6ec833712fa2455ca7
|
data/CHANGELOG.md
CHANGED
@@ -5,10 +5,14 @@ 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
|
+
## [1.1.7] - 2016-11-28
|
9
|
+
### Changed
|
10
|
+
- Use handle if is given in arguments for handle_message_simple
|
11
|
+
- Update default initializer with comments and fix rake execution
|
12
|
+
|
8
13
|
## [1.1.6] - 2016-11-24
|
9
14
|
### Added
|
10
15
|
- Add this changelog file
|
11
16
|
|
12
17
|
### Changed
|
13
|
-
|
14
|
-
|
18
|
+
- Update in config file log level field reading upcase or downcase is acceptable
|
@@ -9,9 +9,32 @@ module RubyRabbitmqJanus
|
|
9
9
|
# Create an initializer
|
10
10
|
def copy_initializer
|
11
11
|
initializer 'ruby_rabbitmq_janus.rb' do
|
12
|
-
|
13
|
-
|
14
|
-
|
12
|
+
<<-INIT
|
13
|
+
# frozen_string_literal: true
|
14
|
+
|
15
|
+
# This test disable this gems execution when you running an task with rake
|
16
|
+
unless File.basename($PROGRAM_NAME) == 'rake'
|
17
|
+
# Write your methods for listening standar queue here
|
18
|
+
#
|
19
|
+
# Example :
|
20
|
+
# action_events = lambda do |reason, data|
|
21
|
+
# logger.debug 'Execute block code with reason :'
|
22
|
+
# logger.debug reason
|
23
|
+
# logger.debug --
|
24
|
+
# logger.debug data
|
25
|
+
# end
|
26
|
+
|
27
|
+
Rails.configuration.after_initialize do
|
28
|
+
# Initialize a gem and create an session with a keepalive
|
29
|
+
::RRJ = RubyRabbitmqJanus::RRJ.new
|
30
|
+
|
31
|
+
# If you want listen a standard queue and execute an block code uncomment
|
32
|
+
# this line and craete an method sendind to run
|
33
|
+
# ::JEvents = RubyRabbitmqJanus::Janus::Concurrencies::Event.instance
|
34
|
+
# JEvents.run(&action_events)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
INIT
|
15
38
|
end
|
16
39
|
end
|
17
40
|
end
|
data/lib/rrj/info.rb
CHANGED
data/lib/rrj/init.rb
CHANGED
@@ -17,6 +17,7 @@ module RubyRabbitmqJanus
|
|
17
17
|
# @!attribute [r] session
|
18
18
|
# @return [Fixnum] Renturn an session number created in instanciate gem
|
19
19
|
# :reek:BooleanParameter and :reek:ControlParameter and :reek:DataClump
|
20
|
+
# :reek:LongParameterList and :reek:TooManyStatements
|
20
21
|
class RRJ
|
21
22
|
attr_reader :session
|
22
23
|
|
@@ -133,9 +134,10 @@ module RubyRabbitmqJanus
|
|
133
134
|
# }
|
134
135
|
# RubyRabbitmqJanus::RRJ.new.handle_message_simple('peer::trickle', candidate)
|
135
136
|
# #=> { 'janus' => 'trickle', ..., 'candidate' => { 'completed' : true } } }
|
136
|
-
def handle_message_simple(type, replace = {}, add = {})
|
137
|
+
def handle_message_simple(type, replace = {}, add = {}, exclusive = false)
|
138
|
+
handle = replace.include?('handle_id') ? replace['handle_id'] : 0
|
137
139
|
@transaction = Janus::Transactions::Handle.new(@session)
|
138
|
-
@transaction.handle_connect_and_stop(
|
140
|
+
@transaction.handle_connect_and_stop(exclusive, handle) do
|
139
141
|
message_handle(type, replace, add).for_plugin
|
140
142
|
end
|
141
143
|
rescue => error
|
@@ -5,6 +5,7 @@ module RubyRabbitmqJanus
|
|
5
5
|
module Transactions
|
6
6
|
# @author VAILLANT Jeremy <jeremy.vaillant@dazzl.tv>
|
7
7
|
# This class work with janus and send a series of message
|
8
|
+
# :reek:TooManyStatements
|
8
9
|
class Handle < Session
|
9
10
|
# Inistialize transaction handle
|
10
11
|
def initialize(session)
|
@@ -24,11 +25,11 @@ module RubyRabbitmqJanus
|
|
24
25
|
|
25
26
|
# Initialize connection to Rabbit and Janus and close after sending an received
|
26
27
|
# a response
|
27
|
-
def handle_connect_and_stop(exclusive)
|
28
|
+
def handle_connect_and_stop(exclusive, sender)
|
28
29
|
@exclusive = exclusive
|
29
30
|
rabbit.transaction_short do
|
30
31
|
choose_queue(exclusive)
|
31
|
-
create_handle
|
32
|
+
sender.eql?(0) ? create_handle : connect_handle(sender)
|
32
33
|
yield
|
33
34
|
end
|
34
35
|
end
|
@@ -48,13 +49,19 @@ module RubyRabbitmqJanus
|
|
48
49
|
|
49
50
|
private
|
50
51
|
|
51
|
-
#
|
52
|
+
# Create an handle for transaction
|
52
53
|
def create_handle
|
53
54
|
Tools::Log.instance.info 'Create an handle'
|
54
55
|
msg = Janus::Messages::Standard.new('base::attach', 'session_id' => session)
|
55
56
|
@handle = send_a_message_exclusive { msg }
|
56
57
|
end
|
57
58
|
|
59
|
+
# Connect to handle
|
60
|
+
def connect_handle(sender)
|
61
|
+
Tools::Log.instance.info 'Connect an handle'
|
62
|
+
@handle = sender
|
63
|
+
end
|
64
|
+
|
58
65
|
# Send a messaeg in exclusive queue
|
59
66
|
def send_a_message_exclusive
|
60
67
|
Janus::Responses::Standard.new(read_response_exclusive { yield }).sender
|
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.
|
4
|
+
version: 1.1.7
|
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-
|
11
|
+
date: 2016-11-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|