ruby_rabbitmq_janus 2.6.0.pre.247 → 2.6.0.pre.258

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 (43) hide show
  1. checksums.yaml +4 -4
  2. data/bin/ruby_rabbitmq_janus +6 -2
  3. data/config/default.md +5 -0
  4. data/config/default.yml +19 -0
  5. data/lib/rrj/binary.rb +1 -7
  6. data/lib/rrj/errors/error.rb +5 -9
  7. data/lib/rrj/errors/tools/gem/config.rb +30 -0
  8. data/lib/rrj/errors/tools/tools.rb +0 -1
  9. data/lib/rrj/init.rb +5 -0
  10. data/lib/rrj/janus/messages/message.rb +2 -2
  11. data/lib/rrj/janus/processus/concurrency.rb +2 -2
  12. data/lib/rrj/janus/processus/keepalive/keepalive_thread.rb +17 -12
  13. data/lib/rrj/janus/transactions/handle.rb +1 -1
  14. data/lib/rrj/janus/transactions/transaction.rb +3 -3
  15. data/lib/rrj/models/concerns/janus_instance_callbacks.rb +4 -4
  16. data/lib/rrj/rabbit/connect.rb +4 -48
  17. data/lib/rrj/rabbit/connect_fake.rb +68 -0
  18. data/lib/rrj/rabbit/listener/base.rb +4 -4
  19. data/lib/rrj/rabbit/propertie.rb +1 -1
  20. data/lib/rrj/rabbit/rabbit.rb +2 -0
  21. data/lib/rrj/rails.rb +2 -2
  22. data/lib/rrj/task.rb +0 -1
  23. data/lib/rrj/tools/bin/config.rb +3 -2
  24. data/lib/rrj/tools/bin/init.rb +2 -29
  25. data/lib/rrj/tools/bin/model.rb +8 -3
  26. data/lib/rrj/tools/gem/config/gem.rb +74 -0
  27. data/lib/rrj/tools/gem/config/janus.rb +31 -0
  28. data/lib/rrj/tools/gem/config/queues.rb +47 -0
  29. data/lib/rrj/tools/gem/config/rabbit.rb +45 -0
  30. data/lib/rrj/tools/gem/config.rb +13 -106
  31. data/lib/rrj/tools/gem/log.rb +48 -122
  32. data/lib/rrj/tools/gem/option.rb +5 -2
  33. data/lib/rrj/tools/gem/requests.rb +1 -1
  34. data/lib/rrj/tools/replaces/admin.rb +2 -2
  35. data/lib/rrj/tools/replaces/handle.rb +3 -3
  36. data/lib/rrj/tools/replaces/replace.rb +3 -3
  37. data/lib/rrj/tools/replaces/session.rb +2 -2
  38. data/lib/rrj/tools/tools.rb +0 -1
  39. data/spec/ruby_rabbitmq_janus/tools/{log_spec.rb → logger_spec.rb} +2 -1
  40. data/spec/spec_helper.rb +7 -1
  41. metadata +9 -6
  42. data/lib/rrj/tools/bin/arguments.rb +0 -21
  43. data/lib/rrj/tools/bin/environment.rb +0 -18
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0403e680765b24268400bab862938a771432959961a9071a87a7491f1880eb00
4
- data.tar.gz: 222fcf4697c1aeef809dd131c3d6dfe922aa6cf0357c132097e691958b4b9b6e
3
+ metadata.gz: 7c2c4198c70eb700d253b4ff3f8177d170c0dfb7739596d28996080d128152d4
4
+ data.tar.gz: 6865ae1fc691f3cb88ebe03a59401b8193bf43754b9fc61230564ced574033d3
5
5
  SHA512:
6
- metadata.gz: f4c5c93c62f7028515dcc21fe0b5f30bd5b977e997692d4b76a20524705902e8f56964a43a3e6e46d30c56e71e6793034dbe595bf429974b172229044305f84f
7
- data.tar.gz: 8c7f474b45d0ed4958625ccc3056bd7efdc9c3ca457c469e453198f1ce89da5947f35b749337dfb2e9cea5a690d8d45fbbf9b45fb5a1c617e9989bdd0cf57817
6
+ metadata.gz: e4dd95300f9b59baed2319cd4b4048c51909308e50d0c345287a9f986b7c96d29b3d70535fbe3545c42c6236f4aa7782c6523059f7aae5add543a345a8a09641
7
+ data.tar.gz: 107548935cfdf99305aa34af5c941ee6996b51773ef9e2f3d8ee9cc9e62ba8390c2a8a5d3cb266c3f4040aeb7f09de5c6b06372d238d59d23d163f3898c5e947
@@ -12,8 +12,12 @@
12
12
  # Use `Log` variable in ActionEvents class
13
13
  # for writing in another logger instead rails logs.
14
14
 
15
- require 'rrj/tools/bin/environment'
16
- require 'rrj/tools/bin/arguments'
17
15
  require 'rrj/tools/bin/config'
16
+ require 'rrj/tools/gem/log'
17
+
18
+ Log = RubyRabbitmqJanus::Tools::Logger.create
19
+ RubyRabbitmqJanus::Tools::Logger.start
20
+
18
21
  require 'rrj/tools/bin/model'
22
+ require 'ruby_rabbitmq_janus'
19
23
  require 'rrj/tools/bin/init'
data/config/default.md CHANGED
@@ -35,8 +35,13 @@ gem:
35
35
  enabled: true
36
36
  log:
37
37
  level: info
38
+ type: file
39
+ option: ''
38
40
  listener:
39
41
  path: 'app/ruby_rabbitmq_janus'
42
+ environment: 'development'
43
+ orm: 'mongoid'
44
+ program_name: 'ruby_rabbitmq_janus'
40
45
  ```
41
46
 
42
47
  ## Customize
data/config/default.yml CHANGED
@@ -58,7 +58,26 @@ gem:
58
58
  # Define level to log
59
59
  # UNKNOW, FATAL, ERROR, WARN, INFO, DEBUG
60
60
  level: debug
61
+ # Precise type logger
62
+ # stdout : Output standard.
63
+ # file : Create log file in path 'log/ruby-rabbitmq-janus.log'.
64
+ # rails : Use logger rails.
65
+ # remote : Use RemoteSyslogLogger (for papertrail)
66
+ type: file
67
+ # Used with type. Complete missing data :
68
+ # stdout : no option
69
+ # file : filename used
70
+ # rails : no option
71
+ # remote : data output (logs.papertrail.com:4685@program_rrj:backend_host)
72
+ option: ''
61
73
  # Options for listener thread
62
74
  listener:
63
75
  # Represent path to action_events class in project who use this gem
64
76
  path: 'app/ruby_rabbitmq_janus'
77
+ # Environment to application
78
+ environment : 'development'
79
+ # Precise ORM used :
80
+ # mongoid or active_record
81
+ orm: 'mongoid'
82
+ # Define program name
83
+ program_name: 'ruby_rabbitmq_janus'
data/lib/rrj/binary.rb CHANGED
@@ -1,13 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- action_event_path = "#{Dir.pwd}/#{LISTENER_PATH}"
4
- Log.debug "Load action events to path : #{action_event_path}"
5
- require action_event_path
6
- require 'rrj/tools/gem/config'
7
3
  require 'rrj/models/concerns/janus_instance_callbacks'
8
4
  require 'rrj/models/concerns/janus_instance_methods'
9
5
  require 'rrj/models/concerns/janus_instance_validations'
10
- require "rrj/models/#{defined?(Mongoid) ? 'mongoid' : 'active_record'}"
6
+ require "rrj/models/#{RubyRabbitmqJanus::Tools::Config.instance.orm}"
11
7
 
12
8
  module RubyRabbitmqJanus
13
9
  # :reek:InstanceVariableAssumption
@@ -22,8 +18,6 @@ module RubyRabbitmqJanus
22
18
  # if enable become true a new session with janus is created
23
19
  class Binary
24
20
  def initialize
25
- RubyRabbitmqJanus::Tools::Config.instance
26
-
27
21
  start_instances
28
22
  end
29
23
 
@@ -18,16 +18,12 @@ module RubyRabbitmqJanus
18
18
 
19
19
  private
20
20
 
21
- def log
22
- RubyRabbitmqJanus::Tools::Log
23
- end
24
-
25
- def logger
26
- log.instance
27
- end
28
-
29
21
  def write_error(message, level)
30
- log.instance_method(level).bind(logger).call(message)
22
+ if defined?(::Log)
23
+ ::Log.add(level, message)
24
+ else
25
+ p "#{level}, #{message}"
26
+ end
31
27
  end
32
28
  end
33
29
  end
@@ -85,6 +85,36 @@ module RubyRabbitmqJanus
85
85
  super "[Cluster] Cluster parameter is missing, with parameter #{parameter}", :warn
86
86
  end
87
87
  end
88
+
89
+ class LogType < RubyRabbitmqJanus::Errors::Tools::BaseConfig
90
+ def initialize
91
+ super '[LogType] Error with Log Type', :fatal
92
+ end
93
+ end
94
+
95
+ class LogOption < RubyRabbitmqJanus::Errors::Tools::BaseConfig
96
+ def initialize
97
+ super '[LogOption] Error with Log Option', :fatal
98
+ end
99
+ end
100
+
101
+ class Environment < RubyRabbitmqJanus::Errors::Tools::BaseConfig
102
+ def initialize
103
+ super '[Environment] Error with environment option', :fatal
104
+ end
105
+ end
106
+
107
+ class ORM < RubyRabbitmqJanus::Errors::Tools::BaseConfig
108
+ def initialize
109
+ super '[ORM] Error with Object Relational Mapping option', :fatal
110
+ end
111
+ end
112
+
113
+ class ProgramName < RubyRabbitmqJanus::Errors::Tools::BaseConfig
114
+ def initialize
115
+ super '[ProgramName] Error with ProgramName option', :fatal
116
+ end
117
+ end
88
118
  end
89
119
  end
90
120
  end
@@ -14,7 +14,6 @@ module RubyRabbitmqJanus
14
14
  end
15
15
 
16
16
  require 'rrj/errors/tools/gem/cluster'
17
- require 'rrj/errors/tools/gem/config'
18
17
  require 'rrj/errors/tools/gem/log'
19
18
  require 'rrj/errors/tools/gem/option'
20
19
  require 'rrj/errors/tools/gem/request'
data/lib/rrj/init.rb CHANGED
@@ -9,6 +9,11 @@ require 'logger'
9
9
  require 'key_path'
10
10
  require 'active_support'
11
11
  require 'erb'
12
+ require 'rrj/tools/bin/config'
13
+ require 'rrj/tools/gem/log'
14
+
15
+ Log = RubyRabbitmqJanus::Tools::Logger.create unless defined?(Log)
16
+ RubyRabbitmqJanus::Tools::Logger.start
12
17
 
13
18
  # :reek:TooManyStatements
14
19
 
@@ -93,11 +93,11 @@ module RubyRabbitmqJanus
93
93
 
94
94
  def load_request_file
95
95
  @request = request_instance
96
- Tools::Log.instance.debug "Opening request : #{to_json}"
96
+ ::Log.debug "Opening request : #{to_json}"
97
97
  end
98
98
 
99
99
  def prepare_request(_options)
100
- Tools::Log.instance.debug "Prepare request for janus : #{to_json}"
100
+ ::Log.debug "Prepare request for janus : #{to_json}"
101
101
  end
102
102
 
103
103
  def request_instance
@@ -13,7 +13,7 @@ module RubyRabbitmqJanus
13
13
  class Concurrency
14
14
  # Initialize class with elements for thread communication
15
15
  def initialize
16
- Tools::Log.instance.info info_thread
16
+ ::Log.info info_thread
17
17
  @rabbit = RubyRabbitmqJanus::Rabbit::Connect.new
18
18
  @lock = Mutex.new
19
19
  @condition = ConditionVariable.new
@@ -26,7 +26,7 @@ module RubyRabbitmqJanus
26
26
  def initialize_thread
27
27
  @rabbit.transaction_long { transaction_running }
28
28
  rescue Interrupt
29
- Tools::Log.instance.info "Stop transaction #{self.class.name}"
29
+ ::Log.info "Stop transaction #{self.class.name}"
30
30
  @rabbit.close
31
31
  end
32
32
 
@@ -6,6 +6,7 @@
6
6
  # :reek:TooManyInstanceVariables
7
7
  # :reek:TooManyStatements
8
8
  # :reek:UncommunicativeVariableName
9
+ # :reek:TooManyMethods
9
10
 
10
11
  module RubyRabbitmqJanus
11
12
  module Janus
@@ -23,7 +24,7 @@ module RubyRabbitmqJanus
23
24
  @timer = KeepaliveTimer.new
24
25
  @message = KeepaliveMessage.new(instance)
25
26
  instance.set(thread: __id__)
26
- Tools::Log.instance.info "Keepalive thread id is #{__id__}"
27
+ ::Log.info "Keepalive thread id is #{__id__}"
27
28
  super(&block)
28
29
  rescue
29
30
  raise Errors::Janus::KeepaliveThread::Initializer
@@ -41,13 +42,13 @@ module RubyRabbitmqJanus
41
42
  # Restart session
42
43
  # :reek:TooManyStatements
43
44
  def restart_session
44
- Tools::Log.instance.warn 'Restart session ...'
45
+ ::Log.warn 'Restart session ...'
45
46
  janus = find_model
46
47
  if janus.present?
47
48
  send_messages_restart
48
49
  janus.set(session: @session)
49
50
  else
50
- Tools::Log.instance.error 'Janus Instance Model is gone, giving up'
51
+ ::Log.error 'Janus Instance Model is gone, giving up'
51
52
  end
52
53
  rescue
53
54
  raise Errors::Janus::KeepaliveThread::RestartSession
@@ -59,16 +60,16 @@ module RubyRabbitmqJanus
59
60
  def start
60
61
  @timer.loop_keepalive do
61
62
  if detached?(find_model)
62
- Tools::Log.instance.info \
63
+ ::Log.info \
63
64
  "Thread #{__id__} no longer attached to Janus Instance, " \
64
65
  'exiting...'
65
66
  @timer.stop_timer
66
67
  cleanup
67
68
  exit
68
69
  else
69
- Tools::Log.instance.info "Thread #{__id__} " \
70
- 'sending keepalive to instance ' \
71
- "#{@message.instance} with TTL #{@timer.time_to_live}"
70
+ ::Log.info msg_send_ttl(__id__,
71
+ @message.instance,
72
+ @timer.time_to_live)
72
73
  response_keepalive
73
74
  end
74
75
  end
@@ -90,12 +91,12 @@ module RubyRabbitmqJanus
90
91
  janus = find_model
91
92
  @session = @message = nil
92
93
  if detached?(janus)
93
- Tools::Log.instance.error\
94
+ ::Log.error\
94
95
  "Thread [#{__id__}] no longer attached to Janus Instance " \
95
96
  '(should be dead).'
96
97
  else
97
98
  janus.set(enable: false).unset(%I[thread session])
98
- Tools::Log.instance.fatal \
99
+ ::Log.fatal \
99
100
  "Janus Instance [#{janus.instance}] is down, " \
100
101
  "thread [#{__id__}] will die."
101
102
  end
@@ -121,13 +122,13 @@ module RubyRabbitmqJanus
121
122
  if @message.present?
122
123
  Models::JanusInstance.find(@message.instance)
123
124
  else
124
- Tools::Log.instance.warn \
125
+ ::Log.warn \
125
126
  "Lookup Janus Instance model by session [#{@session}]"
126
127
  Models::JanusInstance.find_by_session(@session)
127
128
  end
128
129
  rescue StandardError => exception
129
- Tools::Log.debug exception
130
- Tools::Log.instance.warn \
130
+ ::Log.debug exception
131
+ ::Log.warn \
131
132
  "find_model: rescuing from error #{e.message}"
132
133
  nil
133
134
  end
@@ -158,6 +159,10 @@ module RubyRabbitmqJanus
158
159
  def publish(message)
159
160
  @publisher.publish(message)
160
161
  end
162
+
163
+ def msg_send_ttl(id, inst, ttl)
164
+ "Thread #{id} sending keepalive to instance #{inst} with TTL #{ttl}"
165
+ end
161
166
  end
162
167
  end
163
168
  end
@@ -56,7 +56,7 @@ module RubyRabbitmqJanus
56
56
  # Send a message detach
57
57
  def detach
58
58
  options = opts.merge('instance' => @instance)
59
- Tools::Log.instance.debug "Detach handle #{options}"
59
+ ::Log.debug "Detach handle #{options}"
60
60
  publisher.publish(Janus::Messages::Standard.new('base::detach',
61
61
  options))
62
62
  rescue
@@ -30,18 +30,18 @@ module RubyRabbitmqJanus
30
30
  def choose_queue
31
31
  chan = @rabbit.channel
32
32
  @publisher = if @exclusive
33
- Tools::Log.instance.debug \
33
+ ::Log.debug \
34
34
  'Choose an queue Exclusive : ampq.gen-xxx'
35
35
  Rabbit::Publisher::Exclusive.new(chan, '')
36
36
  else
37
- Tools::Log.instance.debug \
37
+ ::Log.debug \
38
38
  'Choose an queue non Exclusive : to-janus'
39
39
  Rabbit::Publisher::NonExclusive.new(chan)
40
40
  end
41
41
  end
42
42
 
43
43
  def send_a_message
44
- Tools::Log.instance.info 'Publish a message ...'
44
+ ::Log.info 'Publish a message ...'
45
45
  response = read_response(@publisher.publish(yield))
46
46
  Janus::Responses::Standard.new(response)
47
47
  end
@@ -9,14 +9,14 @@ module RubyRabbitmqJanus
9
9
 
10
10
  # Create a session in Janus Instance
11
11
  def callback_create_after
12
- Tools::Log.instance.debug 'Callback AFTER_VALIDATION'
12
+ ::Log.debug 'Callback AFTER_VALIDATION'
13
13
  create_a_session_in_janus_instance if enable
14
14
  end
15
15
 
16
16
  # Update a keepalive transaction in Janus Instance
17
17
  # Enable or Disable transaction
18
18
  def callback_update_after
19
- Tools::Log.instance.debug 'Callback AFTER_UPDATE'
19
+ ::Log.debug 'Callback AFTER_UPDATE'
20
20
  if enable && enable_changed?
21
21
  create_a_session_in_janus_instance
22
22
  elsif !enable && enable_changed?
@@ -27,7 +27,7 @@ module RubyRabbitmqJanus
27
27
  # Destroy a session in Janus Instance
28
28
  # :reek:UtilityFunction
29
29
  def callback_destroy_after
30
- Tools::Log.instance.debug 'Callback AFTER_DESTROY'
30
+ ::Log.debug 'Callback AFTER_DESTROY'
31
31
  # LCO: nothing to do, thread will close session and die
32
32
  end
33
33
 
@@ -54,7 +54,7 @@ module RubyRabbitmqJanus
54
54
  end
55
55
 
56
56
  def info_instance(text)
57
- Tools::Log.instance.debug "#{text} in Janus Instance [##{instance}]"
57
+ ::Log.debug "#{text} in Janus Instance [##{instance}]"
58
58
  end
59
59
 
60
60
  def message
@@ -1,9 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # :reek:TooManyStatements
4
- # :reek:FeatureEnvy
5
- # :reek:RepeatedConditional
6
-
7
3
  module RubyRabbitmqJanus
8
4
  module Rabbit
9
5
  # @author VAILLANT Jeremy <jeremy.vaillant@dazzl.tv>
@@ -12,23 +8,14 @@ module RubyRabbitmqJanus
12
8
  class Connect
13
9
  # Initialize connection to server RabbitMQ
14
10
  def initialize
15
- @rabbit = if Tools::Config.instance.tester?
16
- require 'bunny-mock'
17
- BunnyMock.new.start
18
- else
19
- Bunny.new(read_options_server.merge!(option_log_rabbit))
20
- end
11
+ @rabbit = Bunny.new(Tools::Config.instance.server_settings)
21
12
  rescue => exception
22
13
  raise Errors::Rabbit::Connect::Initialize, exception
23
14
  end
24
15
 
25
16
  # Create an transaction with rabbitmq and close after response is received
26
17
  def transaction_short
27
- response = if Tools::Config.instance.tester?
28
- fake_transaction
29
- else
30
- transaction_long { yield }
31
- end
18
+ response = transaction_long { yield }
32
19
  close
33
20
  response
34
21
  rescue => exception
@@ -38,11 +25,7 @@ module RubyRabbitmqJanus
38
25
  # Create an transaction with rabbitmq and not close
39
26
  def transaction_long
40
27
  start
41
- if Tools::Config.instance.tester?
42
- @rabbit.channel.queue.pop[:message]
43
- else
44
- yield
45
- end
28
+ yield
46
29
  rescue => exception
47
30
  raise Errors::Rabbit::Connect::TransactionLong, exception
48
31
  end
@@ -63,37 +46,10 @@ module RubyRabbitmqJanus
63
46
 
64
47
  # Create an channel
65
48
  def channel
66
- if Tools::Config.instance.tester?
67
- @rabbit.channel
68
- else
69
- @rabbit.create_channel
70
- end
49
+ @rabbit.create_channel
71
50
  rescue => exception
72
51
  raise Errors::Rabbit::Connect::Channel, exception
73
52
  end
74
-
75
- private
76
-
77
- def fake_transaction
78
- channel = @rabbit.channel
79
- queue = channel.queue 'janus-queue-test'
80
- queue.publish 'RSpec testing message'
81
- queue.pop
82
- end
83
-
84
- def read_options_server
85
- conn = %w[host port pass user vhost]
86
- cfg = Tools::Config.instance.options['rabbit']
87
- Hash[conn.map { |value| [value.to_sym, cfg[value]] }]
88
- end
89
-
90
- def option_log_rabbit
91
- lvl = Tools::Config.instance.log_level_rabbit.upcase.to_sym
92
- {
93
- log_level: Tools::Log::LEVELS[lvl],
94
- log_file: Tools::Log.instance.logdev
95
- }
96
- end
97
53
  end
98
54
  end
99
55
  end
@@ -0,0 +1,68 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'bunny-mock'
4
+
5
+ # :reek:FeatureEnvy
6
+
7
+ module RubyRabbitmqJanus
8
+ module Rabbit
9
+ # @author VAILLANT Jeremy <jeremy.vaillant@dazzl.tv>
10
+ #
11
+ # Override class connect with a Faker connection with rabbitmq
12
+ class ConnectFake
13
+ # Initialize connection to server RabbitMQ
14
+ def initialize
15
+ @rabbit = BunnyMock.new.start
16
+ rescue => exception
17
+ raise Errors::Rabbit::Connect::Initialize, exception
18
+ end
19
+
20
+ # Create an transaction with rabbitmq and close after response is received
21
+ def transaction_short
22
+ response = fake_transaction
23
+ close
24
+ response
25
+ rescue => exception
26
+ raise Errors::Rabbit::Connect::TransactionShort, exception
27
+ end
28
+
29
+ # Create an transaction with rabbitmq and not close
30
+ def transaction_long
31
+ start
32
+ @rabbit.channel.queue.pop[:message]
33
+ rescue => exception
34
+ raise Errors::Rabbit::Connect::TransactionLong, exception
35
+ end
36
+
37
+ # Opening a connection with RabbitMQ
38
+ def start
39
+ @rabbit.start
40
+ rescue => exception
41
+ raise Errors::Rabbit::Connect::Start, exception
42
+ end
43
+
44
+ # Close connection to server RabbitMQ
45
+ def close
46
+ @rabbit.close
47
+ rescue => exception
48
+ raise Errors::Rabbit::Connect::Close, exception
49
+ end
50
+
51
+ # Create an channel
52
+ def channel
53
+ @rabbit.channel
54
+ rescue => exception
55
+ raise Errors::Rabbit::Connect::Channel, exception
56
+ end
57
+
58
+ private
59
+
60
+ def fake_transaction
61
+ channel = @rabbit.channel
62
+ queue = channel.queue 'janus-queue-test'
63
+ queue.publish 'RSpec testing message'
64
+ queue.pop
65
+ end
66
+ end
67
+ end
68
+ end
@@ -46,14 +46,14 @@ module RubyRabbitmqJanus
46
46
  # Counts transmitted messages
47
47
  def log_message_id(propertie)
48
48
  message_id = propertie.message_id
49
- Tools::Log.instance.info "[X] Message reading with ID #{message_id}"
49
+ ::Log.info "[X] Message reading with ID #{message_id}"
50
50
  end
51
51
 
52
52
  def info_subscribe(info, prop, payload)
53
- Tools::Log.instance.debug info
54
- Tools::Log.instance.info \
53
+ ::Log.debug info
54
+ ::Log.info \
55
55
  "[X] Message reading ##{prop['correlation_id']}"
56
- Tools::Log.instance.debug payload
56
+ ::Log.debug payload
57
57
  end
58
58
  end
59
59
  end
@@ -13,7 +13,7 @@ module RubyRabbitmqJanus
13
13
 
14
14
  # Initialize a message sending to rabbitmq
15
15
  def initialize(instance = 1)
16
- Tools::Log.instance.debug 'initalize a propertie to message'
16
+ ::Log.debug 'initalize a propertie to message'
17
17
  @correlation = SecureRandom.uuid
18
18
  @instance = instance
19
19
  rescue
@@ -1,6 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'rrj/rabbit/connect'
4
+ require 'rrj/rabbit/connect_fake' \
5
+ if RubyRabbitmqJanus::Tools::Config.instance.tester?
4
6
  require 'rrj/rabbit/base_event'
5
7
  require 'rrj/rabbit/propertie'
6
8
 
data/lib/rrj/rails.rb CHANGED
@@ -13,8 +13,8 @@ module RubyRabbitmqJanus
13
13
  class Rails < ::Rails::Engine
14
14
  config.after_initialize do
15
15
  Log.debug '[RRJ] After initializer'
16
- Log.debug "Load file : #{File.join(Dir.pwd, LISTENER_PATH)}"
17
- require File.join(Dir.pwd, LISTENER_PATH)
16
+ require File.join(Dir.pwd,
17
+ RubyRabbitmqJanus::Tools::Config.instance.listener_path)
18
18
 
19
19
  Log.info 'Listen public queue in thread'
20
20
  actions = RubyRabbitmqJanus::ActionEvents.new.actions
data/lib/rrj/task.rb CHANGED
@@ -12,7 +12,6 @@ module RubyRabbitmqJanus
12
12
  # This class is used with rake task.
13
13
  class RRJTask < RRJ
14
14
  def initialize
15
- Tools::Log.instance
16
15
  Tools::Config.instance
17
16
  Tools::Requests.instance
18
17
  rescue
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Load gem config if present
3
+ # Load gem Config if present
4
+ # @see https://rubygems.org/gems/config
4
5
 
5
6
  begin
6
7
  require 'config'
@@ -8,7 +9,7 @@ begin
8
9
  if defined?(Config)
9
10
  config_conf = [
10
11
  File.join(Dir.pwd, 'config', 'settings.yml'),
11
- File.join(Dir.pwd, 'config', 'settings', "#{ENVIRONMENT}.yml")
12
+ File.join(Dir.pwd, 'config', 'settings', "#{ENV['RAILS_ENV']}.yml")
12
13
  ]
13
14
  Config.load_and_set_settings(config_conf)
14
15
  end
@@ -3,39 +3,12 @@
3
3
  # Loads files RRJ and write first message in log,
4
4
  # then initialize binary
5
5
 
6
- require 'rrj/info'
7
- require 'ruby_rabbitmq_janus'
8
-
9
- # rubocop:disable Naming/ConstantName
10
- ::Log = if @logger_default
11
- RubyRabbitmqJanus::Tools::Log.instance
12
- else
13
- require_relative @logger_path
14
- @logger_class.constantize.instance
15
- end
16
- # rubocop:enable Naming/ConstantName
17
-
18
- Log.info "RRJ Version : #{RubyRabbitmqJanus::VERSION}"
19
- Log.info "\r\n#{RubyRabbitmqJanus::BANNER}"
20
-
6
+ p "Has rails engine ?? #{defined?(Rails)} -- #{defined?(::Rails::Engine)}"
7
+ require 'rrj/rails' # defined?(::Rails::Engine)
21
8
  require File.join(File.dirname(__FILE__), '..', '..', 'binary')
22
9
 
23
10
  begin
24
- Log.info 'Load events public queue classes'
25
11
  bin = RubyRabbitmqJanus::Binary.new
26
- Log.info "Load file : #{File.join(Dir.pwd, LISTENER_PATH)}"
27
- require File.join(Dir.pwd, LISTENER_PATH)
28
-
29
- Log.info 'Listen public queue in thread'
30
- actions = RubyRabbitmqJanus::ActionEvents.new.actions
31
- RubyRabbitmqJanus::Janus::Concurrencies::Event.instance.run(&actions)
32
- rescue => exception
33
- Log.fatal '!! Fail to start RRJ Thread listen public queue !!'
34
- Log.fatal exception
35
- exit 1
36
- end
37
-
38
- begin
39
12
  Log.info \
40
13
  'Prepare to listen events in queue : ' + \
41
14
  RubyRabbitmqJanus::Tools::Config.instance.queue_janus_instance
@@ -2,6 +2,11 @@
2
2
 
3
3
  # Select ORM between Mongoid and ActiveRecord
4
4
 
5
- require ORM
6
- Mongoid.load!(File.join(Dir.pwd, 'config', 'mongoid.yml'), ENVIRONMENT) \
7
- if defined?(Mongoid)
5
+ require 'rrj/errors/error'
6
+ require RubyRabbitmqJanus::Tools::Config.instance.orm
7
+
8
+ # For mongoid gem
9
+ if RubyRabbitmqJanus::Tools::Config.instance.orm.eql?('mongoid')
10
+ Mongoid.load!(File.join(Dir.pwd, 'config', 'mongoid.yml'),
11
+ RubyRabbitmqJanus::Tools::Config.instance.env.to_sym)
12
+ end