nats_wave 1.1.9 → 1.1.10

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 76f94cf28e8dfa1742a78ef25bdd1531c4424fdde3b61dfbc61daca7b361bd79
4
- data.tar.gz: 0015c75cb71bcae3e0e5ea48c12b7953b838b3d2eb47303a5a5ecc885de5e313
3
+ metadata.gz: 6f2a585b3596818bf6c2af016223d821cdbd3560a9fb6442b5ce42f6553d7f8b
4
+ data.tar.gz: 18d69e19889c450d47c30930cf7cf7f0e42a27855380c2cfa94f2d2765d2937a
5
5
  SHA512:
6
- metadata.gz: c015a2d561b28c7526a55cc8e1af696f4df70281e9d82377d878e11fa11b28181323296843484f47bdea3527ebb55881f9a96c62195323d0ebbf79d94903b4d9
7
- data.tar.gz: 8dbcbfde92b22e044e187a10ec94d29ff8d3db227015a61bbd0b56f2622de7dba6a01db81a3fa83d45bd4b5b0b737e566434395340333b460ce6d3799cdc49da
6
+ metadata.gz: 77dc3cbedd4d2415d2963d29ccad155e50ed1f93ee5ca7b984f6455217a27e24b0104422e2bd36f65cb498fea0576d4624f135042efecb4d75d5b9d49173e711
7
+ data.tar.gz: e23ae34f7c8bab0ce7c1bc5483734a9d034f979ad7043c2d5112a638c6d80b94a31ec6ab4d1ee702d73997bbc675f69028c83ec8c4f36e35d9848f0fea2c3510
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- nats_wave (1.1.9)
4
+ nats_wave (1.1.10)
5
5
  activerecord (>= 6.1, < 8.0)
6
6
  activesupport (>= 6.1, < 8.0)
7
7
  concurrent-ruby (~> 1.1)
@@ -77,7 +77,7 @@ module NatsWave
77
77
  {
78
78
  service: @service_name,
79
79
  environment: ENV['RAILS_ENV'] || ENV['RACK_ENV'] || 'unknown',
80
- version: ENV['APP_VERSION'] || '1.1.9'
80
+ version: ENV['APP_VERSION'] || '1.1.10'
81
81
  }
82
82
  end
83
83
 
@@ -18,7 +18,7 @@ module NatsWave
18
18
  def initialize(options = {})
19
19
  @nats_url = ENV['NATS_URL'] || "nats://localhost:4222"
20
20
  @service_name = ENV['NATS_SERVICE_NAME'] || "purplewave"
21
- @version = ENV['NATS_SERVICE_VERSION'] || "1.1.9"
21
+ @version = ENV['NATS_SERVICE_VERSION'] || "1.1.10"
22
22
  @instance_id = ENV['NATS_INSTANCE_ID'] || Socket.gethostname
23
23
  @database_url = ENV['NATS_DATABASE_URL'] || nil
24
24
  @connection_pool_size = (ENV['NATS_CONNECTION_POOL_SIZE'] || 10).to_i
@@ -77,12 +77,13 @@
77
77
  # end
78
78
  # end
79
79
  #
80
- # initializer "nats_wave.active_record" do
81
- # ActiveSupport.on_load(:active_record) do
82
- # require 'nats_wave/concerns/publishable'
83
- # include NatsWave::ActiveRecordExtension
84
- # end
85
- # end
80
+ # # initializer "nats_wave.active_record" do
81
+ # # ActiveSupport.on_load(:active_record) do
82
+ # # # Load the ActiveRecord extension (this replaces the old publishable)
83
+ # # require 'nats_wave/adapters/active_record'
84
+ # # include NatsWave::ActiveRecord
85
+ # # end
86
+ # # end
86
87
  #
87
88
  # rake_tasks do
88
89
  # load "tasks/nats_wave.rake"
@@ -101,6 +102,12 @@
101
102
  # begin
102
103
  # NatsWave.client
103
104
  # NatsWave.logger.info "NatsWave client initialized"
105
+ #
106
+ # # Start subscriber if enabled
107
+ # if NatsWave.configuration&.subscription_enabled
108
+ # NatsWave.client.start_subscriber
109
+ # NatsWave.logger.info "NatsWave subscriber started"
110
+ # end
104
111
  # rescue => e
105
112
  # NatsWave.logger.error "Failed to initialize NatsWave client: #{e.message}"
106
113
  # end
@@ -190,13 +197,19 @@ module NatsWave
190
197
  end
191
198
  end
192
199
 
193
- # initializer "nats_wave.active_record" do
194
- # ActiveSupport.on_load(:active_record) do
195
- # # Load the ActiveRecord extension (this replaces the old publishable)
196
- # require 'nats_wave/adapters/active_record'
197
- # include NatsWave::ActiveRecord
198
- # end
199
- # end
200
+ # Load extensions before ActiveRecord loads models
201
+ initializer "nats_wave.load_extensions", before: :load_config_initializers do
202
+ # Load the extensions early so they're available when models are loaded
203
+ require 'nats_wave/active_record_extension'
204
+ require 'nats_wave/concerns/mappable'
205
+ end
206
+
207
+ initializer "nats_wave.active_record" do
208
+ ActiveSupport.on_load(:active_record) do
209
+ # The modules are already loaded, just include them
210
+ include NatsWave::ActiveRecordExtension
211
+ end
212
+ end
200
213
 
201
214
  rake_tasks do
202
215
  load "tasks/nats_wave.rake"
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module NatsWave
4
- VERSION = '1.1.9'
4
+ VERSION = '1.1.10'
5
5
  end
data/lib/nats_wave.rb CHANGED
@@ -108,29 +108,36 @@ require 'securerandom'
108
108
  require_relative "nats_wave/version"
109
109
  require_relative "nats_wave/errors"
110
110
  require_relative "nats_wave/configuration"
111
- require_relative "nats_wave/client"
112
- require_relative "nats_wave/publisher"
113
- require_relative "nats_wave/subscriber"
111
+
112
+ # Load core components first
114
113
  require_relative "nats_wave/message_transformer"
115
114
  require_relative "nats_wave/model_mapper"
116
115
  require_relative "nats_wave/model_registry"
117
- require_relative "nats_wave/concerns/mappable"
118
- require_relative "nats_wave/adapters/datadog_metrics"
119
116
  require_relative "nats_wave/database_connector"
120
117
  require_relative "nats_wave/schema_registry"
121
118
  require_relative "nats_wave/dead_letter_queue"
122
119
  require_relative "nats_wave/metrics"
123
120
 
124
- # Middleware
121
+ # Load middleware
125
122
  require_relative "nats_wave/middleware/base"
126
123
  require_relative "nats_wave/middleware/authentication"
127
124
  require_relative "nats_wave/middleware/validation"
128
125
  require_relative "nats_wave/middleware/logging"
129
126
 
130
- # Adapters
127
+ # Load adapters
128
+ require_relative "nats_wave/adapters/datadog_metrics"
131
129
  require_relative "nats_wave/adapters/active_record"
132
130
 
133
- # Rails integration
131
+ # Load NATS components
132
+ require_relative "nats_wave/publisher"
133
+ require_relative "nats_wave/subscriber"
134
+ require_relative "nats_wave/client"
135
+
136
+ # Load ActiveRecord extensions early (before models are loaded)
137
+ require_relative "nats_wave/active_record_extension"
138
+ require_relative "nats_wave/concerns/mappable"
139
+
140
+ # Rails integration (loads last)
134
141
  require_relative "nats_wave/railtie" if defined?(Rails)
135
142
 
136
143
  module NatsWave
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nats_wave
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.9
4
+ version: 1.1.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeffrey Dabo