ruby_rabbitmq_janus 0.3.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
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