File tree Expand file tree Collapse file tree 4 files changed +34
-5
lines changed
Expand file tree Collapse file tree 4 files changed +34
-5
lines changed Original file line number Diff line number Diff line change 88PATH
99 remote: .
1010 specs:
11- rabbit_messaging (1.6.0 )
11+ rabbit_messaging (1.6.1 )
1212 bunny (~> 2.0 )
1313 kicks
1414
Original file line number Diff line number Diff line change 1+ # frozen_string_literal: true
2+
3+ class DeferredValue
4+ def initialize ( &block )
5+ @block = block
6+ @evaluated = false
7+ end
8+
9+ def value
10+ return @value if @evaluated
11+
12+ @value = @block . call
13+ @evaluated = true
14+ @value
15+ end
16+ end
Original file line number Diff line number Diff line change 77
88require "rabbit/extensions/bunny/channel"
99
10+ require_relative "deferred_value"
11+
1012module Rabbit
1113 InvalidConfig = Class . new ( StandardError )
1214 MessageNotDelivered = Class . new ( StandardError )
@@ -34,6 +36,17 @@ class Config
3436 :publish_logger ,
3537 :malformed_logger
3638
39+ def self . attr_deferred_reader ( *names )
40+ names . each do |name |
41+ define_method ( name ) do
42+ val = instance_variable_get ( :"@#{ name } " )
43+ val . is_a? ( DeferredValue ) ? val . value : val
44+ end
45+ end
46+ end
47+
48+ attr_deferred_reader :receive_logger , :publish_logger , :malformed_logger
49+
3750 def initialize ( # rubocop:disable Metrics/MethodLength
3851 group_id : nil ,
3952 project_id : nil ,
@@ -76,9 +89,9 @@ def initialize( # rubocop:disable Metrics/MethodLength
7689 self . connection_reset_exceptions = connection_reset_exceptions
7790 self . logger_message_size_limit = logger_message_size_limit
7891
79- self . receive_logger = receive_logger || default_receive_logger
80- self . publish_logger = publish_logger || default_publish_logger
81- self . malformed_logger = malformed_logger || default_malformed_logger
92+ self . receive_logger = receive_logger || DeferredValue . new { default_receive_logger }
93+ self . publish_logger = publish_logger || DeferredValue . new { default_publish_logger }
94+ self . malformed_logger = malformed_logger || DeferredValue . new { default_malformed_logger }
8295 end
8396
8497 def validate!
Original file line number Diff line number Diff line change 11# frozen_string_literal: true
22
33module Rabbit
4- VERSION = "1.6.0 "
4+ VERSION = "1.6.1 "
55end
You can’t perform that action at this time.
0 commit comments