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.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +64 -7
  3. data/.reek +7 -0
  4. data/.rubocop.yml +0 -3
  5. data/README.md +40 -2
  6. data/config/default.md +22 -6
  7. data/config/default.yml +24 -6
  8. data/config/requests/{test.json → admin/handle_info.json} +2 -4
  9. data/config/requests/admin/handles.json +6 -0
  10. data/config/requests/admin/log_level.json +6 -0
  11. data/config/requests/admin/sessions.json +5 -0
  12. data/config/requests/{attach.json → base/attach.json} +0 -0
  13. data/config/requests/{create.json → base/create.json} +0 -0
  14. data/config/requests/{destroy.json → base/destroy.json} +0 -0
  15. data/config/requests/{detach.json → base/detach.json} +0 -0
  16. data/config/requests/{info.json → base/info.json} +0 -0
  17. data/config/requests/base/keepalive.json +5 -0
  18. data/lib/generators/ruby_rabbitmq_janus/configuration_generator.rb +23 -0
  19. data/lib/generators/ruby_rabbitmq_janus/create_request_generator.rb +90 -0
  20. data/lib/generators/ruby_rabbitmq_janus/default_request_generator.rb +21 -0
  21. data/lib/generators/ruby_rabbitmq_janus/initializer_generator.rb +17 -0
  22. data/lib/rrj/errors/config.rb +21 -0
  23. data/lib/rrj/errors/error.rb +56 -0
  24. data/lib/rrj/errors/janus.rb +14 -0
  25. data/lib/rrj/errors/janus_message.rb +45 -0
  26. data/lib/rrj/errors/janus_response.rb +78 -0
  27. data/lib/rrj/errors/janus_transaction.rb +31 -0
  28. data/lib/rrj/errors/rabbit.rb +21 -0
  29. data/lib/rrj/errors/request.rb +21 -0
  30. data/lib/rrj/info.rb +40 -0
  31. data/lib/rrj/init.rb +113 -44
  32. data/lib/rrj/janus/admin.rb +27 -0
  33. data/lib/rrj/janus/janus.rb +10 -33
  34. data/lib/rrj/janus/keepalive.rb +69 -0
  35. data/lib/rrj/janus/message.rb +77 -22
  36. data/lib/rrj/janus/response.rb +79 -41
  37. data/lib/rrj/janus/transaction.rb +53 -0
  38. data/lib/rrj/janus/transaction_admin.rb +43 -0
  39. data/lib/rrj/janus/transaction_handle.rb +40 -0
  40. data/lib/rrj/janus/transaction_session.rb +17 -0
  41. data/lib/rrj/rabbit/connect.rb +75 -0
  42. data/lib/rrj/rabbit/propertie.rb +37 -0
  43. data/lib/rrj/rabbit/publish.rb +100 -0
  44. data/lib/rrj/rabbit/rabbit.rb +11 -0
  45. data/lib/rrj/tools/config.rb +63 -0
  46. data/lib/rrj/tools/env.rb +21 -0
  47. data/lib/rrj/tools/log.rb +106 -0
  48. data/lib/rrj/tools/replaces.rb +115 -0
  49. data/lib/rrj/tools/replaces_admin.rb +44 -0
  50. data/lib/rrj/tools/requests.rb +57 -0
  51. data/lib/rrj/tools/tools.rb +14 -0
  52. data/lib/ruby_rabbitmq_janus.rb +8 -13
  53. data/rrj.gemspec +7 -3
  54. metadata +108 -28
  55. data/config.reek +0 -3
  56. data/lib/rrj/config.rb +0 -57
  57. data/lib/rrj/janus/error.rb +0 -8
  58. data/lib/rrj/janus/message_async.rb +0 -54
  59. data/lib/rrj/janus/message_sync.rb +0 -34
  60. data/lib/rrj/log.rb +0 -63
  61. data/lib/rrj/rabbitmq/rabbitmq.rb +0 -82
  62. data/lib/rrj/request/path.rb +0 -21
  63. data/lib/rrj/request/replaces.rb +0 -109
  64. data/lib/rrj/request/requests.rb +0 -55
  65. data/lib/rrj/request/type_data.rb +0 -30
  66. 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
@@ -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
- require 'rrj/request/requests'
9
- require 'rrj/request/type_data'
10
- require 'rrj/request/replaces'
11
- require 'rrj/request/path'
5
+ # Define tools for this gems
6
+ require 'rrj/tools/tools'
12
7
 
13
- require 'rrj/rabbitmq/rabbitmq'
8
+ # Define actions with rabbitmq
9
+ require 'rrj/rabbit/rabbit'
14
10
 
11
+ # Define actions with janus
15
12
  require 'rrj/janus/janus'
16
- require 'rrj/janus/message'
17
- require 'rrj/janus/message_sync'
18
- require 'rrj/janus/message_async'
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/version'
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 = 'https://github.com/dazzl-tv/ruby-rabbitmq-janus'
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.3.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-09-26 00:00:00.000000000 Z
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: bunny
200
+ name: activesupport
201
201
  requirement: !ruby/object:Gem::Requirement
202
202
  requirements:
203
203
  - - "~>"
204
204
  - !ruby/object:Gem::Version
205
- version: '2.5'
206
- type: :runtime
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.5'
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: logging
240
+ name: bunny
215
241
  requirement: !ruby/object:Gem::Requirement
216
242
  requirements:
217
243
  - - "~>"
218
244
  - !ruby/object:Gem::Version
219
- version: '2.1'
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.1'
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/attach.json
280
- - config/requests/create.json
281
- - config/requests/destroy.json
282
- - config/requests/detach.json
283
- - config/requests/info.json
284
- - config/requests/test.json
285
- - lib/rrj/config.rb
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/error.rb
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/log.rb
294
- - lib/rrj/rabbitmq/rabbitmq.rb
295
- - lib/rrj/request/path.rb
296
- - lib/rrj/request/replaces.rb
297
- - lib/rrj/request/requests.rb
298
- - lib/rrj/request/type_data.rb
299
- - lib/rrj/version.rb
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
@@ -1,3 +0,0 @@
1
- ---
2
- TooManyInstanceVariables:
3
- max_instance_variables: 8
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
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module RubyRabbitmqJanus
4
- # @author VAILLANT Jeremy <jeremy.vaillant@dazzl.tv>
5
- # Define errors to gems
6
- class Error
7
- end
8
- end