ruby_rabbitmq_janus 0.3.0 → 1.0.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 +4 -4
- data/.gitignore +64 -7
- data/.reek +7 -0
- data/.rubocop.yml +0 -3
- data/README.md +40 -2
- data/config/default.md +22 -6
- data/config/default.yml +24 -6
- data/config/requests/{test.json → admin/handle_info.json} +2 -4
- data/config/requests/admin/handles.json +6 -0
- data/config/requests/admin/log_level.json +6 -0
- data/config/requests/admin/sessions.json +5 -0
- data/config/requests/{attach.json → base/attach.json} +0 -0
- data/config/requests/{create.json → base/create.json} +0 -0
- data/config/requests/{destroy.json → base/destroy.json} +0 -0
- data/config/requests/{detach.json → base/detach.json} +0 -0
- data/config/requests/{info.json → base/info.json} +0 -0
- data/config/requests/base/keepalive.json +5 -0
- data/lib/generators/ruby_rabbitmq_janus/configuration_generator.rb +23 -0
- data/lib/generators/ruby_rabbitmq_janus/create_request_generator.rb +90 -0
- data/lib/generators/ruby_rabbitmq_janus/default_request_generator.rb +21 -0
- data/lib/generators/ruby_rabbitmq_janus/initializer_generator.rb +17 -0
- data/lib/rrj/errors/config.rb +21 -0
- data/lib/rrj/errors/error.rb +56 -0
- data/lib/rrj/errors/janus.rb +14 -0
- data/lib/rrj/errors/janus_message.rb +45 -0
- data/lib/rrj/errors/janus_response.rb +78 -0
- data/lib/rrj/errors/janus_transaction.rb +31 -0
- data/lib/rrj/errors/rabbit.rb +21 -0
- data/lib/rrj/errors/request.rb +21 -0
- data/lib/rrj/info.rb +40 -0
- data/lib/rrj/init.rb +113 -44
- data/lib/rrj/janus/admin.rb +27 -0
- data/lib/rrj/janus/janus.rb +10 -33
- data/lib/rrj/janus/keepalive.rb +69 -0
- data/lib/rrj/janus/message.rb +77 -22
- data/lib/rrj/janus/response.rb +79 -41
- data/lib/rrj/janus/transaction.rb +53 -0
- data/lib/rrj/janus/transaction_admin.rb +43 -0
- data/lib/rrj/janus/transaction_handle.rb +40 -0
- data/lib/rrj/janus/transaction_session.rb +17 -0
- data/lib/rrj/rabbit/connect.rb +75 -0
- data/lib/rrj/rabbit/propertie.rb +37 -0
- data/lib/rrj/rabbit/publish.rb +100 -0
- data/lib/rrj/rabbit/rabbit.rb +11 -0
- data/lib/rrj/tools/config.rb +63 -0
- data/lib/rrj/tools/env.rb +21 -0
- data/lib/rrj/tools/log.rb +106 -0
- data/lib/rrj/tools/replaces.rb +115 -0
- data/lib/rrj/tools/replaces_admin.rb +44 -0
- data/lib/rrj/tools/requests.rb +57 -0
- data/lib/rrj/tools/tools.rb +14 -0
- data/lib/ruby_rabbitmq_janus.rb +8 -13
- data/rrj.gemspec +7 -3
- metadata +108 -28
- data/config.reek +0 -3
- data/lib/rrj/config.rb +0 -57
- data/lib/rrj/janus/error.rb +0 -8
- data/lib/rrj/janus/message_async.rb +0 -54
- data/lib/rrj/janus/message_sync.rb +0 -34
- data/lib/rrj/log.rb +0 -63
- data/lib/rrj/rabbitmq/rabbitmq.rb +0 -82
- data/lib/rrj/request/path.rb +0 -21
- data/lib/rrj/request/replaces.rb +0 -109
- data/lib/rrj/request/requests.rb +0 -55
- data/lib/rrj/request/type_data.rb +0 -30
- data/lib/rrj/version.rb +0 -17
@@ -0,0 +1,106 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RubyRabbitmqJanus
|
4
|
+
module Tools
|
5
|
+
# @author VAILLANT Jeremy <jeremy.vaillant@dazzl.tv>
|
6
|
+
# Class for wrtting logs.
|
7
|
+
class Log
|
8
|
+
include Singleton
|
9
|
+
|
10
|
+
# Levels to log
|
11
|
+
LEVELS = {
|
12
|
+
DEBUG: Logger::DEBUG,
|
13
|
+
INFO: Logger::INFO,
|
14
|
+
WARN: Logger::WARN,
|
15
|
+
ERROR: Logger::ERROR,
|
16
|
+
FATAL: Logger::FATAL,
|
17
|
+
UNKNOWN: Logger::UNKNOWN
|
18
|
+
}.freeze
|
19
|
+
|
20
|
+
# This method smell :reek:Attribute
|
21
|
+
attr_accessor :level, :progname
|
22
|
+
|
23
|
+
# Returns a new instance to Log
|
24
|
+
def initialize
|
25
|
+
logs = defined?(Rails) ? logger_rails : logger_develop
|
26
|
+
logs.progname = RubyRabbitmqJanus.name
|
27
|
+
logs.level = LEVELS[:DEBUG]
|
28
|
+
logs.info('### Start gem Rails Rabbit Janus ###')
|
29
|
+
@level = logs.level
|
30
|
+
@progname = logs.progname
|
31
|
+
@logs = ActiveSupport::TaggedLogging.new(logs)
|
32
|
+
end
|
33
|
+
|
34
|
+
# Write a message in log with a UNKNOWN level
|
35
|
+
# @param message [String] Message writing in warning level in log
|
36
|
+
def unknown(message)
|
37
|
+
write_tag { @logs.unknown(message) }
|
38
|
+
end
|
39
|
+
|
40
|
+
# Write a message in log with a FATAL level
|
41
|
+
# @param message [String] Message writing in warning level in log
|
42
|
+
def fatal(message)
|
43
|
+
write_tag { @logs.fatal(message.red) } if test_level?(Logger::FATAL)
|
44
|
+
end
|
45
|
+
|
46
|
+
# Write a message in log with a ERROR level
|
47
|
+
# @param message [String] Message writing in warning level in log
|
48
|
+
def error(message)
|
49
|
+
write_tag { @logs.error(message.orange) } if test_level?(Logger::ERROR)
|
50
|
+
end
|
51
|
+
|
52
|
+
# Write a message in log with a warn level
|
53
|
+
# @param message [String] Message writing in warning level in log
|
54
|
+
def warn(message)
|
55
|
+
write_tag { @logs.warn(message.yellow) } if test_level?(Logger::WARN)
|
56
|
+
end
|
57
|
+
|
58
|
+
# Write a message in log with a info level
|
59
|
+
# @param message [String] Message writing in info level in log
|
60
|
+
def info(message)
|
61
|
+
write_tag { @logs.info(message.green) } if test_level?(Logger::INFO)
|
62
|
+
end
|
63
|
+
|
64
|
+
# Write a message in log with a debug level
|
65
|
+
# @param message [String] Message writing in debug level in log
|
66
|
+
def debug(message)
|
67
|
+
write_tag { @logs.debug(message.light_blue) } if test_level?(Logger::DEBUG)
|
68
|
+
end
|
69
|
+
|
70
|
+
# Return instance logger
|
71
|
+
def logger
|
72
|
+
@logs
|
73
|
+
end
|
74
|
+
|
75
|
+
def logdev
|
76
|
+
@logs.instance_variable_get(:'@logdev').filename
|
77
|
+
end
|
78
|
+
|
79
|
+
private
|
80
|
+
|
81
|
+
# Define instance logger with rails
|
82
|
+
def logger_rails
|
83
|
+
Rails.logger
|
84
|
+
end
|
85
|
+
|
86
|
+
# Define instance logger wiptout rails
|
87
|
+
def logger_develop
|
88
|
+
log = Logger.new('log/rails-rabbit-janus.log')
|
89
|
+
log.formatter = proc do |severity, _datetime, _progname, msg|
|
90
|
+
"#{severity[0, 1].upcase}, #{msg}\n"
|
91
|
+
end
|
92
|
+
log
|
93
|
+
end
|
94
|
+
|
95
|
+
# This method smell :reek:UtilityFunction
|
96
|
+
def test_level?(this_level)
|
97
|
+
this_level >= Log.instance.level ? true : false
|
98
|
+
end
|
99
|
+
|
100
|
+
# Write a log with an tag
|
101
|
+
def write_tag
|
102
|
+
@logs.tagged(@logs.progname) { yield }
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
@@ -0,0 +1,115 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RubyRabbitmqJanus
|
4
|
+
module Tools
|
5
|
+
# Format message request with good data to HASH format
|
6
|
+
# @author VAILLANT Jeremy <jeremy.vaillant@dazzl.tv>
|
7
|
+
class Replace
|
8
|
+
# Initialize a tool replace
|
9
|
+
def initialize(request, options = {})
|
10
|
+
@request = request
|
11
|
+
@opts = options
|
12
|
+
Tools::Log.instance.debug "Element to replace : #{@opts}"
|
13
|
+
end
|
14
|
+
|
15
|
+
# Replace element in hash request with information used for this transaction
|
16
|
+
# @return HASH request with element replace
|
17
|
+
def transform_request
|
18
|
+
replace_classic
|
19
|
+
unless @opts.empty?
|
20
|
+
replace_other if test_presence?('replace')
|
21
|
+
add_other if test_presence?('add')
|
22
|
+
end
|
23
|
+
@request
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
attr_reader :request, :opts
|
29
|
+
|
30
|
+
# Replace classic elements
|
31
|
+
def replace_classic
|
32
|
+
replace_transaction if @request.key?('transaction')
|
33
|
+
replace_session if @request.key?('session_id')
|
34
|
+
replace_plugin if @request.key?('plugin')
|
35
|
+
replace_handle if @request.key?('handle_id')
|
36
|
+
end
|
37
|
+
|
38
|
+
# Create an transaction string and replace in request field with an String format
|
39
|
+
def replace_transaction
|
40
|
+
@request['transaction'].replace [*('A'..'Z'), *('0'..'9')].sample(10).join
|
41
|
+
rescue => message
|
42
|
+
Tools::Log.instance.warn "Error transaction replace : #{message}"
|
43
|
+
end
|
44
|
+
|
45
|
+
# Read option session and replace in request
|
46
|
+
def replace_session
|
47
|
+
@request['session_id'] = @opts['session_id']
|
48
|
+
rescue => message
|
49
|
+
Tools::Log.instance.warn "Error session replace : #{message}"
|
50
|
+
end
|
51
|
+
|
52
|
+
# Replace plugin string
|
53
|
+
def replace_plugin
|
54
|
+
@request['plugin'] = Tools::Config.instance.options['janus']['plugins'][0]
|
55
|
+
rescue => message
|
56
|
+
Tools::Log.instance.warn "Error plugin replace : #{message}"
|
57
|
+
end
|
58
|
+
|
59
|
+
# Replace handle integer
|
60
|
+
def replace_handle
|
61
|
+
@request['handle_id'] = @opts['handle_id']
|
62
|
+
rescue => message
|
63
|
+
Tools::Log.instance.warn "Error handle replace : #{message}"
|
64
|
+
end
|
65
|
+
|
66
|
+
# Replace other element in request
|
67
|
+
def replace_other
|
68
|
+
values = @opts['replace']
|
69
|
+
running_hash(rewrite_key_to_string(values))
|
70
|
+
rescue => message
|
71
|
+
Tools::Log.instance.warn "Error REPLACE other field : #{message}"
|
72
|
+
end
|
73
|
+
|
74
|
+
# Adds other element to request
|
75
|
+
def add_other
|
76
|
+
values = @opts['add']
|
77
|
+
@request['body'].merge!(values)
|
78
|
+
rescue => message
|
79
|
+
Tools::Log.instance.warn "Error ADD other field : #{message}"
|
80
|
+
end
|
81
|
+
|
82
|
+
# Rewrite key symbol to string
|
83
|
+
def rewrite_key_to_string(node)
|
84
|
+
Hash[
|
85
|
+
node.map do |key, value|
|
86
|
+
[key.to_s, value.is_a?(Hash) ? rewrite_key_to_string(value) : value]
|
87
|
+
end
|
88
|
+
]
|
89
|
+
end
|
90
|
+
|
91
|
+
# Replace value in request Hash
|
92
|
+
def running_hash(hash, parent = 'body')
|
93
|
+
hash.each do |key, value|
|
94
|
+
if value.is_a?(Hash)
|
95
|
+
running_hash(value, new_parent(key, parent))
|
96
|
+
else
|
97
|
+
@request[parent][key] = value
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
def new_parent(key, parent)
|
103
|
+
"#{parent}#{'.' unless parent.empty?}#{key}"
|
104
|
+
end
|
105
|
+
|
106
|
+
# Test presence of key in many hash
|
107
|
+
# :reek:NilCheck
|
108
|
+
def test_presence?(presence_of_key)
|
109
|
+
@opts.key?(presence_of_key) && \
|
110
|
+
@request.key?('body') && \
|
111
|
+
!@opts[presence_of_key].nil?
|
112
|
+
end
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RubyRabbitmqJanus
|
4
|
+
module Tools
|
5
|
+
# Format message request with good data to HASH format for Admin request
|
6
|
+
# @author VAILLANT Jeremy <jeremy.vaillant@dazzl.tv>
|
7
|
+
class AdminReplace < Replace
|
8
|
+
private
|
9
|
+
|
10
|
+
# Replace classic elements and for admin elements
|
11
|
+
def replace_classic
|
12
|
+
super
|
13
|
+
replace_admins if request.key?('admin_secret')
|
14
|
+
end
|
15
|
+
|
16
|
+
# Replace elements admins if present
|
17
|
+
def replace_admins
|
18
|
+
replace_admin
|
19
|
+
replace_level if request.key?('level')
|
20
|
+
replace_debug if request.key?('debug')
|
21
|
+
end
|
22
|
+
|
23
|
+
# Replace admin secret in request
|
24
|
+
def replace_admin
|
25
|
+
cfg = Tools::Config.instance.options['rabbit']
|
26
|
+
request['admin_secret'] = Tools::Env.instance.test_env_var(cfg, 'admin_pass')
|
27
|
+
rescue => message
|
28
|
+
Tools::Log.instance.warn "Error replace admin_secret : #{message}"
|
29
|
+
end
|
30
|
+
|
31
|
+
def replace_level
|
32
|
+
request['level'] = opts['level']
|
33
|
+
rescue => message
|
34
|
+
Tools::Log.instance.warn "Error replace level : #{message}"
|
35
|
+
end
|
36
|
+
|
37
|
+
def replace_debug
|
38
|
+
request['debug'] = opts['debug']
|
39
|
+
rescue => message
|
40
|
+
Tools::Log.instance.warn "Error replace debug : #{message}"
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RubyRabbitmqJanus
|
4
|
+
module Tools
|
5
|
+
# @author VAILLANT Jeremy <jeremy.vaillant@dazzl.tv>
|
6
|
+
# Load files json in config/request.
|
7
|
+
# This file is used for sending a request to RabbitMQ
|
8
|
+
# @!attribute [r] requests
|
9
|
+
class Requests
|
10
|
+
include Singleton
|
11
|
+
|
12
|
+
attr_reader :requests
|
13
|
+
|
14
|
+
# Define folder to request
|
15
|
+
PATH_REQUEST = 'config/requests/'
|
16
|
+
|
17
|
+
# Load all requests in folder
|
18
|
+
def initialize
|
19
|
+
@requests = {}
|
20
|
+
Tools::Log.instance.info "Loading all requests in : #{PATH_REQUEST}"
|
21
|
+
Dir[File.join(PATH_REQUEST, '*')].count do |file|
|
22
|
+
if File.file?(file)
|
23
|
+
read_file(file)
|
24
|
+
elsif File.directory?(file)
|
25
|
+
each_folder(File.basename(file))
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
private
|
31
|
+
|
32
|
+
# Run folder contains templates json
|
33
|
+
def each_folder(subfolder)
|
34
|
+
Dir[File.join(PATH_REQUEST + subfolder, '*')].count do |file|
|
35
|
+
if File.file?(file)
|
36
|
+
read_folder(subfolder.gsub('/', '::') + '::', file)
|
37
|
+
elsif File.directory?(file)
|
38
|
+
each_folder(subfolder + '/' + File.basename(file))
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
# Add template json to requests array
|
44
|
+
# @param file [File]
|
45
|
+
def read_file(file)
|
46
|
+
@requests[File.basename(file, '.json').to_s] = File.path(file)
|
47
|
+
end
|
48
|
+
|
49
|
+
# Add template json to requests array with a path
|
50
|
+
# @param folder [Dir]
|
51
|
+
# @param file [File]
|
52
|
+
def read_folder(folder, file)
|
53
|
+
@requests[folder + File.basename(file, '.json').to_s] = File.path(file)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'rrj/tools/log'
|
4
|
+
require 'rrj/tools/env'
|
5
|
+
require 'rrj/tools/config'
|
6
|
+
require 'rrj/tools/requests'
|
7
|
+
require 'rrj/tools/replaces'
|
8
|
+
require 'rrj/tools/replaces_admin'
|
9
|
+
|
10
|
+
module RubyRabbitmqJanus
|
11
|
+
# Contains all tools necessary in this gem
|
12
|
+
module Tools
|
13
|
+
end
|
14
|
+
end
|
data/lib/ruby_rabbitmq_janus.rb
CHANGED
@@ -1,20 +1,15 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require 'rrj/version'
|
3
2
|
|
4
3
|
require 'rrj/init'
|
5
|
-
require 'rrj/log'
|
6
|
-
require 'rrj/config'
|
7
4
|
|
8
|
-
|
9
|
-
require 'rrj/
|
10
|
-
require 'rrj/request/replaces'
|
11
|
-
require 'rrj/request/path'
|
5
|
+
# Define tools for this gems
|
6
|
+
require 'rrj/tools/tools'
|
12
7
|
|
13
|
-
|
8
|
+
# Define actions with rabbitmq
|
9
|
+
require 'rrj/rabbit/rabbit'
|
14
10
|
|
11
|
+
# Define actions with janus
|
15
12
|
require 'rrj/janus/janus'
|
16
|
-
|
17
|
-
|
18
|
-
require 'rrj/
|
19
|
-
require 'rrj/janus/response'
|
20
|
-
require 'rrj/janus/error'
|
13
|
+
|
14
|
+
# Define errors in gems
|
15
|
+
require 'rrj/errors/error'
|
data/rrj.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
lib = File.expand_path('../lib', __FILE__)
|
2
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
-
require 'rrj/
|
3
|
+
require 'rrj/info'
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = 'ruby_rabbitmq_janus'
|
@@ -11,12 +11,14 @@ Gem::Specification.new do |spec|
|
|
11
11
|
spec.summary = RubyRabbitmqJanus::SUMMARY
|
12
12
|
spec.description = RubyRabbitmqJanus::DESCRIPTION
|
13
13
|
|
14
|
-
spec.homepage =
|
14
|
+
spec.homepage = RubyRabbitmqJanus::HOMEPAGE
|
15
15
|
spec.license = 'MIT'
|
16
16
|
|
17
17
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
18
18
|
spec.require_paths = ['lib']
|
19
19
|
|
20
|
+
spec.post_install_message = RubyRabbitmqJanus::POST_INSTALL
|
21
|
+
|
20
22
|
spec.add_development_dependency 'bundler', '~> 1.12'
|
21
23
|
spec.add_development_dependency 'rake', '~> 10.0'
|
22
24
|
spec.add_development_dependency 'rspec', '~> 3.5', '>= 3.5.0'
|
@@ -29,9 +31,11 @@ Gem::Specification.new do |spec|
|
|
29
31
|
spec.add_development_dependency 'pry-byebug', '~> 3.4'
|
30
32
|
spec.add_development_dependency 'json-schema', '~> 2.6', '>= 2.6.2'
|
31
33
|
spec.add_development_dependency 'json-schema-rspec', '~> 0.0.4'
|
34
|
+
spec.add_development_dependency 'activesupport', '~> 4.2', '>= 4.2.7.1'
|
35
|
+
spec.add_development_dependency 'concurrent-ruby', '~> 1.0', '>= 1.0.2'
|
32
36
|
|
33
37
|
spec.add_runtime_dependency 'bunny', '~> 2.5'
|
34
|
-
spec.add_runtime_dependency 'logging', '~> 2.1'
|
35
38
|
spec.add_runtime_dependency 'key_path', '~> 1.2'
|
36
39
|
spec.add_runtime_dependency 'thread', '~> 0.2.2'
|
40
|
+
spec.add_runtime_dependency 'colorize', '~> 0.8.1'
|
37
41
|
end
|
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: 0.
|
4
|
+
version: 1.0.1
|
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
|
+
date: 2016-11-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -197,33 +197,59 @@ dependencies:
|
|
197
197
|
- !ruby/object:Gem::Version
|
198
198
|
version: 0.0.4
|
199
199
|
- !ruby/object:Gem::Dependency
|
200
|
-
name:
|
200
|
+
name: activesupport
|
201
201
|
requirement: !ruby/object:Gem::Requirement
|
202
202
|
requirements:
|
203
203
|
- - "~>"
|
204
204
|
- !ruby/object:Gem::Version
|
205
|
-
version: '2
|
206
|
-
|
205
|
+
version: '4.2'
|
206
|
+
- - ">="
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: 4.2.7.1
|
209
|
+
type: :development
|
207
210
|
prerelease: false
|
208
211
|
version_requirements: !ruby/object:Gem::Requirement
|
209
212
|
requirements:
|
210
213
|
- - "~>"
|
211
214
|
- !ruby/object:Gem::Version
|
212
|
-
version: '2
|
215
|
+
version: '4.2'
|
216
|
+
- - ">="
|
217
|
+
- !ruby/object:Gem::Version
|
218
|
+
version: 4.2.7.1
|
219
|
+
- !ruby/object:Gem::Dependency
|
220
|
+
name: concurrent-ruby
|
221
|
+
requirement: !ruby/object:Gem::Requirement
|
222
|
+
requirements:
|
223
|
+
- - "~>"
|
224
|
+
- !ruby/object:Gem::Version
|
225
|
+
version: '1.0'
|
226
|
+
- - ">="
|
227
|
+
- !ruby/object:Gem::Version
|
228
|
+
version: 1.0.2
|
229
|
+
type: :development
|
230
|
+
prerelease: false
|
231
|
+
version_requirements: !ruby/object:Gem::Requirement
|
232
|
+
requirements:
|
233
|
+
- - "~>"
|
234
|
+
- !ruby/object:Gem::Version
|
235
|
+
version: '1.0'
|
236
|
+
- - ">="
|
237
|
+
- !ruby/object:Gem::Version
|
238
|
+
version: 1.0.2
|
213
239
|
- !ruby/object:Gem::Dependency
|
214
|
-
name:
|
240
|
+
name: bunny
|
215
241
|
requirement: !ruby/object:Gem::Requirement
|
216
242
|
requirements:
|
217
243
|
- - "~>"
|
218
244
|
- !ruby/object:Gem::Version
|
219
|
-
version: '2.
|
245
|
+
version: '2.5'
|
220
246
|
type: :runtime
|
221
247
|
prerelease: false
|
222
248
|
version_requirements: !ruby/object:Gem::Requirement
|
223
249
|
requirements:
|
224
250
|
- - "~>"
|
225
251
|
- !ruby/object:Gem::Version
|
226
|
-
version: '2.
|
252
|
+
version: '2.5'
|
227
253
|
- !ruby/object:Gem::Dependency
|
228
254
|
name: key_path
|
229
255
|
requirement: !ruby/object:Gem::Requirement
|
@@ -252,6 +278,20 @@ dependencies:
|
|
252
278
|
- - "~>"
|
253
279
|
- !ruby/object:Gem::Version
|
254
280
|
version: 0.2.2
|
281
|
+
- !ruby/object:Gem::Dependency
|
282
|
+
name: colorize
|
283
|
+
requirement: !ruby/object:Gem::Requirement
|
284
|
+
requirements:
|
285
|
+
- - "~>"
|
286
|
+
- !ruby/object:Gem::Version
|
287
|
+
version: 0.8.1
|
288
|
+
type: :runtime
|
289
|
+
prerelease: false
|
290
|
+
version_requirements: !ruby/object:Gem::Requirement
|
291
|
+
requirements:
|
292
|
+
- - "~>"
|
293
|
+
- !ruby/object:Gem::Version
|
294
|
+
version: 0.8.1
|
255
295
|
description: This gem is used to communicate to a server Janus through RabbitMQ software
|
256
296
|
(Message-oriented middleware). It waiting a messages to Rails API who send to RabbitMQ
|
257
297
|
server in a queue for janus server. Janus processes a message and send to RabbitMQ
|
@@ -265,6 +305,7 @@ extra_rdoc_files: []
|
|
265
305
|
files:
|
266
306
|
- ".gitignore"
|
267
307
|
- ".overcommit.yml"
|
308
|
+
- ".reek"
|
268
309
|
- ".rspec"
|
269
310
|
- ".rubocop.yml"
|
270
311
|
- ".travis.yml"
|
@@ -273,37 +314,76 @@ files:
|
|
273
314
|
- Gemfile
|
274
315
|
- LICENSE
|
275
316
|
- README.md
|
276
|
-
- config.reek
|
277
317
|
- config/default.md
|
278
318
|
- config/default.yml
|
279
|
-
- config/requests/
|
280
|
-
- config/requests/
|
281
|
-
- config/requests/
|
282
|
-
- config/requests/
|
283
|
-
- config/requests/
|
284
|
-
- config/requests/
|
285
|
-
-
|
319
|
+
- config/requests/admin/handle_info.json
|
320
|
+
- config/requests/admin/handles.json
|
321
|
+
- config/requests/admin/log_level.json
|
322
|
+
- config/requests/admin/sessions.json
|
323
|
+
- config/requests/base/attach.json
|
324
|
+
- config/requests/base/create.json
|
325
|
+
- config/requests/base/destroy.json
|
326
|
+
- config/requests/base/detach.json
|
327
|
+
- config/requests/base/info.json
|
328
|
+
- config/requests/base/keepalive.json
|
329
|
+
- lib/generators/ruby_rabbitmq_janus/configuration_generator.rb
|
330
|
+
- lib/generators/ruby_rabbitmq_janus/create_request_generator.rb
|
331
|
+
- lib/generators/ruby_rabbitmq_janus/default_request_generator.rb
|
332
|
+
- lib/generators/ruby_rabbitmq_janus/initializer_generator.rb
|
333
|
+
- lib/rrj/errors/config.rb
|
334
|
+
- lib/rrj/errors/error.rb
|
335
|
+
- lib/rrj/errors/janus.rb
|
336
|
+
- lib/rrj/errors/janus_message.rb
|
337
|
+
- lib/rrj/errors/janus_response.rb
|
338
|
+
- lib/rrj/errors/janus_transaction.rb
|
339
|
+
- lib/rrj/errors/rabbit.rb
|
340
|
+
- lib/rrj/errors/request.rb
|
341
|
+
- lib/rrj/info.rb
|
286
342
|
- lib/rrj/init.rb
|
287
|
-
- lib/rrj/janus/
|
343
|
+
- lib/rrj/janus/admin.rb
|
288
344
|
- lib/rrj/janus/janus.rb
|
345
|
+
- lib/rrj/janus/keepalive.rb
|
289
346
|
- lib/rrj/janus/message.rb
|
290
|
-
- lib/rrj/janus/message_async.rb
|
291
|
-
- lib/rrj/janus/message_sync.rb
|
292
347
|
- lib/rrj/janus/response.rb
|
293
|
-
- lib/rrj/
|
294
|
-
- lib/rrj/
|
295
|
-
- lib/rrj/
|
296
|
-
- lib/rrj/
|
297
|
-
- lib/rrj/
|
298
|
-
- lib/rrj/
|
299
|
-
- lib/rrj/
|
348
|
+
- lib/rrj/janus/transaction.rb
|
349
|
+
- lib/rrj/janus/transaction_admin.rb
|
350
|
+
- lib/rrj/janus/transaction_handle.rb
|
351
|
+
- lib/rrj/janus/transaction_session.rb
|
352
|
+
- lib/rrj/rabbit/connect.rb
|
353
|
+
- lib/rrj/rabbit/propertie.rb
|
354
|
+
- lib/rrj/rabbit/publish.rb
|
355
|
+
- lib/rrj/rabbit/rabbit.rb
|
356
|
+
- lib/rrj/tools/config.rb
|
357
|
+
- lib/rrj/tools/env.rb
|
358
|
+
- lib/rrj/tools/log.rb
|
359
|
+
- lib/rrj/tools/replaces.rb
|
360
|
+
- lib/rrj/tools/replaces_admin.rb
|
361
|
+
- lib/rrj/tools/requests.rb
|
362
|
+
- lib/rrj/tools/tools.rb
|
300
363
|
- lib/ruby_rabbitmq_janus.rb
|
301
364
|
- rrj.gemspec
|
302
365
|
homepage: https://github.com/dazzl-tv/ruby-rabbitmq-janus
|
303
366
|
licenses:
|
304
367
|
- MIT
|
305
368
|
metadata: {}
|
306
|
-
post_install_message:
|
369
|
+
post_install_message: |-
|
370
|
+
# ====================================================== #
|
371
|
+
# Thanks for installing! #
|
372
|
+
# https://github.com/dazzl-tv/ruby-rabbitmq-janus. #
|
373
|
+
# ;;;;;;;;;;;:. #
|
374
|
+
# ;;;;;;;;;;;;;;;;;; #
|
375
|
+
# ;;;;;;;;;;;:;;;;;;;; #
|
376
|
+
# ;;;;;;;;;;` ;;;;;;;; #
|
377
|
+
# ;;;;;;;;; :;;;;;;;;. #
|
378
|
+
# ;;;;;;;; :::::;;;;; #
|
379
|
+
# ;;;;;;, ,;;;;;; #
|
380
|
+
# ;;;;; ;;;;;;;; #
|
381
|
+
# ;;;;;;;;; ;;;;;;;;, #
|
382
|
+
# ;;;;;;;;; `;;;;;;;;; A ZZZZZZZ ZZZZZZZ LL #
|
383
|
+
# ;;;;;;;;.:;;;;;;;;;; A A ZZZ ZZZ LL #
|
384
|
+
# ;;;;;;;;;;;;;;;;; AAAAA ZZ ZZ LL #
|
385
|
+
# ;;;;;;;;;;;;;, A A ZZZZZZZ ZZZZZZZ LLLLLLL #
|
386
|
+
# ====================================================== #
|
307
387
|
rdoc_options: []
|
308
388
|
require_paths:
|
309
389
|
- lib
|
data/config.reek
DELETED
data/lib/rrj/config.rb
DELETED
@@ -1,57 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'yaml'
|
4
|
-
|
5
|
-
module RubyRabbitmqJanus
|
6
|
-
# @author VAILLANT Jeremy <jeremy.vaillant@dazzl.tv>
|
7
|
-
# Loading a yaml file for apply a configuration to gem.
|
8
|
-
class Config
|
9
|
-
include Singleton
|
10
|
-
|
11
|
-
attr_reader :options
|
12
|
-
|
13
|
-
# Define a default path to file configuration
|
14
|
-
DEFAULT_PATH = File.realpath(File.join(File.dirname(__FILE__), '..', '..'))
|
15
|
-
|
16
|
-
# Define a default name to file configuration
|
17
|
-
DEFAULT_CONF = 'config/default.yml'
|
18
|
-
|
19
|
-
# Define a default override file configuration
|
20
|
-
CUSTOMIZE_CONF = 'config/ruby-rabbitmq-janus.yml'
|
21
|
-
|
22
|
-
# Initialize configuration file default or customize if exist
|
23
|
-
def initialize
|
24
|
-
@options = nil
|
25
|
-
conf_customize
|
26
|
-
conf_default
|
27
|
-
define_log_level_used
|
28
|
-
end
|
29
|
-
|
30
|
-
private
|
31
|
-
|
32
|
-
# Load configuration file yaml
|
33
|
-
# @return [Yaml] Configuration file
|
34
|
-
# @param file [String] Path to configuration file (with name)
|
35
|
-
# :reek:UtilityFunction { public_methods_only: true }
|
36
|
-
def load_configuration(file)
|
37
|
-
Log.instance.info("Loading configuration file : #{file}")
|
38
|
-
YAML.load(File.read(file))
|
39
|
-
end
|
40
|
-
|
41
|
-
# Load customize configuration file if exist
|
42
|
-
def conf_customize
|
43
|
-
file = File.join(Dir.pwd, CUSTOMIZE_CONF)
|
44
|
-
@options = load_configuration(file) if File.exist?(file)
|
45
|
-
end
|
46
|
-
|
47
|
-
# Load default configuration if customize configuration doesn't exist
|
48
|
-
def conf_default
|
49
|
-
file = File.join(DEFAULT_PATH, DEFAULT_CONF)
|
50
|
-
@options ||= load_configuration(file)
|
51
|
-
end
|
52
|
-
|
53
|
-
def define_log_level_used
|
54
|
-
Log.instance.level = @options['gem']['log']['level']
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|