aether_observatory 1.0.1 → 1.1.0

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: 25570ca275bf9937545f69eac39d58e13f2003c775336196ac5c8869ff25a9ed
4
- data.tar.gz: d7b321209d6ecdf93697c8e60235e748a8a5441deb74b08e4cddc854eadb3b79
3
+ metadata.gz: a6aef2a047f2c9e6d6c2afc9bfd24bbdf2bf0935c911ff586749f0655ebc041f
4
+ data.tar.gz: db6cd7b04e16f5815529807c4ea183e7b2524e4c97b14abf266a4df58227f46e
5
5
  SHA512:
6
- metadata.gz: 7d2253bc3dfa01dff1b80bbeb89b53da11373ceda822d13e497249fe7f083e48e88f2ad74f56c406ed46fd62e5ea017de5c6473067b26254936b3cf8813095bd
7
- data.tar.gz: f503ef77b7519af39651c70f55069e2b6d873110422f01e5c000907967456682b5bcdccc69ee83093c7109b5226531ad54ad31e251c344d7cb158c5ffaeb1cf5
6
+ metadata.gz: 41948b356d5073d1646f638a689c1391bab25b3ac0f3c9cd2a5b1fa30956fe87e115e11d6b2bc046d3f3de0cf0d104e5f741b77e286db93891cbb115af9cbcab
7
+ data.tar.gz: 6c35061372b4005025c91472699c50a915825e7377806dcb24ac56199e99d6484f62854a5c0dad50fe4d02931856d2caf9f9c2d91d0c82a75b19aa07618ace73
data/.rubocop.yml CHANGED
@@ -10,5 +10,14 @@ Metrics/MethodLength:
10
10
  Exclude:
11
11
  - spec/**/*_spec.rb
12
12
 
13
+ Rails/ActionFilter:
14
+ Enabled: false
15
+
16
+ Rails/ActionOrder:
17
+ Enabled: false
18
+
19
+ Rails/FilePath:
20
+ Enabled: false
21
+
13
22
  Rails/SaveBang:
14
23
  Enabled: false
data/Appraisals CHANGED
@@ -1,21 +1,21 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- appraise "rails-6-0" do
4
- gem "activemodel", "~> 6.0.6"
5
- gem "activesupport", "~> 6.0.6"
6
- end
7
-
8
3
  appraise "rails-6-1" do
9
- gem "activemodel", "~> 6.1.7"
10
- gem "activesupport", "~> 6.1.7"
4
+ gem "activemodel", "~> 6.1.7.10"
5
+ gem "activesupport", "~> 6.1.7.10"
11
6
  end
12
7
 
13
8
  appraise "rails-7-0" do
14
- gem "activemodel", "~> 7.0.8"
15
- gem "activesupport", "~> 7.0.8"
9
+ gem "activemodel", "~> 7.0.8.7"
10
+ gem "activesupport", "~> 7.0.8.7"
16
11
  end
17
12
 
18
13
  appraise "rails-7-1" do
19
- gem "activemodel", "~> 7.1.3"
20
- gem "activesupport", "~> 7.1.3"
14
+ gem "activemodel", "~> 7.1.5.2"
15
+ gem "activesupport", "~> 7.1.5.2"
16
+ end
17
+
18
+ appraise "rails-7-2" do
19
+ gem "activemodel", "~> 7.2.2.2"
20
+ gem "activesupport", "~> 7.2.2.2"
21
21
  end
data/Gemfile CHANGED
@@ -5,3 +5,5 @@ source "https://rubygems.org"
5
5
  gemspec
6
6
 
7
7
  gem "rubocop-powerhome", path: "../rubocop-powerhome"
8
+ gem "securerandom", "< 0.4.0"
9
+ gem "zeitwerk", "< 2.7"
data/Gemfile.lock CHANGED
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: ../rubocop-powerhome
3
3
  specs:
4
- rubocop-powerhome (0.5.5)
5
- rubocop (= 1.74.0)
4
+ rubocop-powerhome (0.6.1)
5
+ rubocop (= 1.82.1)
6
6
  rubocop-performance
7
7
  rubocop-rails
8
8
  rubocop-rake
@@ -11,9 +11,9 @@ PATH
11
11
  PATH
12
12
  remote: .
13
13
  specs:
14
- aether_observatory (1.0.1)
15
- activemodel (>= 6.0.6.1)
16
- activesupport (>= 6.0.6.1)
14
+ aether_observatory (1.1.0)
15
+ activemodel (>= 6.1)
16
+ activesupport (>= 6.1)
17
17
 
18
18
  GEM
19
19
  remote: https://rubygems.org/
@@ -66,9 +66,10 @@ GEM
66
66
  method_source (1.1.0)
67
67
  minitest (5.25.5)
68
68
  parallel (1.26.3)
69
- parser (3.3.7.1)
69
+ parser (3.3.9.0)
70
70
  ast (~> 2.4.1)
71
71
  racc
72
+ prism (1.4.0)
72
73
  pry (0.14.2)
73
74
  coderay (~> 1.1)
74
75
  method_source (~> 1.0)
@@ -94,7 +95,7 @@ GEM
94
95
  diff-lcs (>= 1.2.0, < 2.0)
95
96
  rspec-support (~> 3.13.0)
96
97
  rspec-support (3.13.2)
97
- rubocop (1.74.0)
98
+ rubocop (1.82.1)
98
99
  json (~> 2.3)
99
100
  language_server-protocol (~> 3.17.0.2)
100
101
  lint_roller (~> 1.1.0)
@@ -102,11 +103,12 @@ GEM
102
103
  parser (>= 3.3.0.2)
103
104
  rainbow (>= 2.2.2, < 4.0)
104
105
  regexp_parser (>= 2.9.3, < 3.0)
105
- rubocop-ast (>= 1.38.0, < 2.0)
106
+ rubocop-ast (>= 1.48.0, < 2.0)
106
107
  ruby-progressbar (~> 1.7)
107
108
  unicode-display_width (>= 2.4.0, < 4.0)
108
- rubocop-ast (1.39.0)
109
- parser (>= 3.3.1.0)
109
+ rubocop-ast (1.48.0)
110
+ parser (>= 3.3.7.2)
111
+ prism (~> 1.4)
110
112
  rubocop-performance (1.24.0)
111
113
  lint_roller (~> 1.1)
112
114
  rubocop (>= 1.72.1, < 2.0)
@@ -125,7 +127,7 @@ GEM
125
127
  rubocop (~> 1.72, >= 1.72.1)
126
128
  ruby-progressbar (1.13.0)
127
129
  rubyzip (2.4.1)
128
- securerandom (0.4.1)
130
+ securerandom (0.3.2)
129
131
  simplecov (0.15.1)
130
132
  docile (~> 1.1.0)
131
133
  json (>= 1.8, < 3)
@@ -143,6 +145,7 @@ GEM
143
145
  xml-simple (1.1.9)
144
146
  rexml
145
147
  yard (0.9.21)
148
+ zeitwerk (2.6.18)
146
149
 
147
150
  PLATFORMS
148
151
  arm64-darwin-24
@@ -158,8 +161,10 @@ DEPENDENCIES
158
161
  rake (~> 13.0)
159
162
  rspec (~> 3.0)
160
163
  rubocop-powerhome!
164
+ securerandom (< 0.4.0)
161
165
  simplecov (= 0.15.1)
162
166
  yard (= 0.9.21)
167
+ zeitwerk (< 2.7)
163
168
 
164
169
  BUNDLED WITH
165
170
  2.5.23
@@ -28,10 +28,10 @@ Gem::Specification.new do |spec|
28
28
  end
29
29
  spec.require_paths = ["lib"]
30
30
 
31
- spec.add_dependency "activemodel", ">= 6.0.6.1"
32
- spec.add_dependency "activesupport", ">= 6.0.6.1"
33
- spec.add_development_dependency "appraisal", "~> 2.5.0"
31
+ spec.add_dependency "activemodel", ">= 6.1"
32
+ spec.add_dependency "activesupport", ">= 6.1"
34
33
 
34
+ spec.add_development_dependency "appraisal", "~> 2.5.0"
35
35
  spec.add_development_dependency "bundler", "~> 2.1"
36
36
  spec.add_development_dependency "license_finder", "~> 7.0"
37
37
  spec.add_development_dependency "pry", ">= 0.14"
@@ -40,5 +40,4 @@ Gem::Specification.new do |spec|
40
40
  spec.add_development_dependency "rspec", "~> 3.0"
41
41
  spec.add_development_dependency "simplecov", "0.15.1"
42
42
  spec.add_development_dependency "yard", "0.9.21"
43
- spec.metadata["rubygems_mfa_required"] = "true"
44
43
  end
data/docs/CHANGELOG.md CHANGED
@@ -1,4 +1,7 @@
1
- ## Unreleased
1
+ ## [1.1.0] - 2026-03-23
2
+
3
+ - Standardize all libs to support ruby 3.0, ruby 3.3 x rails 6.1 through rails 7.2 [#359](https://github.com/powerhome/power-tools/pull/359)
4
+ - Fix duplicate observer subscriptions on Rails code reload by stopping all observers before class unload via `ActiveSupport::Reloader.before_class_unload` [#392](https://github.com/powerhome/power-tools/pull/392)
2
5
 
3
6
  ## [1.0.1] - 2025-07-31
4
7
 
data/docs/README.md CHANGED
@@ -107,11 +107,16 @@ end
107
107
  Now that we have a new observer named `ExampleObserver`, we will need to
108
108
  start our observer before it will process any events. Observers default
109
109
  to `stopped`, so we need to call `start` on each observer before they will
110
- recieve events. Inside an initilizer is the recommended location to start
111
- your observers.
110
+ receive events.
111
+
112
+ In a Rails application, the recommended location to start observers is inside
113
+ a `to_prepare` block, which runs on every code reload cycle. Starting observers
114
+ in a plain initializer will cause them to stop permanently after the first reload.
112
115
 
113
116
  ```ruby
114
- AetherObservatory::Examples::ExampleObserver.start
117
+ Rails.application.config.to_prepare do
118
+ AetherObservatory::Examples::ExampleObserver.start
119
+ end
115
120
  ```
116
121
 
117
122
  <div align="right">
@@ -303,12 +308,15 @@ module AetherObservatory
303
308
  end
304
309
  ```
305
310
 
306
- We need to be sure to start our new observers before they will recieve
307
- any events.
311
+ We need to be sure to start our new observers before they will receive
312
+ any events. Use a `to_prepare` block so observers are restarted on every
313
+ code reload cycle.
308
314
 
309
315
  ```ruby
310
- AetherObservatory::Examples::TalkboxCallHistoryObserver.start
311
- AetherObservatory::Examples::TalkboxCallErrorObserver.start
316
+ Rails.application.config.to_prepare do
317
+ AetherObservatory::Examples::TalkboxCallHistoryObserver.start
318
+ AetherObservatory::Examples::TalkboxCallErrorObserver.start
319
+ end
312
320
  ```
313
321
 
314
322
  Finally we are ready to create a new event and see what happens. First we
@@ -4,8 +4,10 @@
4
4
 
5
5
  source "https://rubygems.org"
6
6
 
7
- gem "activemodel", "~> 6.1.7"
8
- gem "activesupport", "~> 6.1.7"
7
+ gem "activemodel", "~> 6.1.7.10"
8
+ gem "activesupport", "~> 6.1.7.10"
9
9
  gem "rubocop-powerhome", path: "../../rubocop-powerhome"
10
+ gem "securerandom", "< 0.4.0"
11
+ gem "zeitwerk", "< 2.7"
10
12
 
11
13
  gemspec path: "../"
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: ../../rubocop-powerhome
3
3
  specs:
4
- rubocop-powerhome (0.5.5)
5
- rubocop (= 1.74.0)
4
+ rubocop-powerhome (0.6.1)
5
+ rubocop (= 1.82.1)
6
6
  rubocop-performance
7
7
  rubocop-rails
8
8
  rubocop-rake
@@ -11,9 +11,9 @@ PATH
11
11
  PATH
12
12
  remote: ..
13
13
  specs:
14
- aether_observatory (1.0.1)
15
- activemodel (>= 6.0.6.1)
16
- activesupport (>= 6.0.6.1)
14
+ aether_observatory (1.1.0)
15
+ activemodel (>= 6.1)
16
+ activesupport (>= 6.1)
17
17
 
18
18
  GEM
19
19
  remote: https://rubygems.org/
@@ -30,17 +30,17 @@ GEM
30
30
  bundler
31
31
  rake
32
32
  thor (>= 0.14.0)
33
- ast (2.4.2)
33
+ ast (2.4.3)
34
34
  byebug (11.1.3)
35
35
  coderay (1.1.3)
36
- concurrent-ruby (1.3.4)
37
- csv (3.3.1)
38
- diff-lcs (1.5.1)
36
+ concurrent-ruby (1.3.5)
37
+ csv (3.3.5)
38
+ diff-lcs (1.6.2)
39
39
  docile (1.1.5)
40
- i18n (1.14.6)
40
+ i18n (1.14.7)
41
41
  concurrent-ruby (~> 1.0)
42
- json (2.9.0)
43
- language_server-protocol (3.17.0.3)
42
+ json (2.13.2)
43
+ language_server-protocol (3.17.0.5)
44
44
  license_finder (7.2.1)
45
45
  bundler
46
46
  csv (~> 3.2)
@@ -51,11 +51,12 @@ GEM
51
51
  xml-simple (~> 1.1.9)
52
52
  lint_roller (1.1.0)
53
53
  method_source (1.1.0)
54
- minitest (5.25.4)
55
- parallel (1.26.3)
56
- parser (3.3.6.0)
54
+ minitest (5.25.5)
55
+ parallel (1.27.0)
56
+ parser (3.3.9.0)
57
57
  ast (~> 2.4.1)
58
58
  racc
59
+ prism (1.4.0)
59
60
  pry (0.14.2)
60
61
  coderay (~> 1.1)
61
62
  method_source (~> 1.0)
@@ -63,25 +64,25 @@ GEM
63
64
  byebug (~> 11.0)
64
65
  pry (>= 0.13, < 0.15)
65
66
  racc (1.8.1)
66
- rack (2.2.10)
67
+ rack (3.2.1)
67
68
  rainbow (3.1.1)
68
- rake (13.2.1)
69
- regexp_parser (2.9.3)
70
- rexml (3.4.0)
71
- rspec (3.13.0)
69
+ rake (13.3.0)
70
+ regexp_parser (2.11.2)
71
+ rexml (3.4.3)
72
+ rspec (3.13.1)
72
73
  rspec-core (~> 3.13.0)
73
74
  rspec-expectations (~> 3.13.0)
74
75
  rspec-mocks (~> 3.13.0)
75
- rspec-core (3.13.2)
76
+ rspec-core (3.13.5)
76
77
  rspec-support (~> 3.13.0)
77
- rspec-expectations (3.13.3)
78
+ rspec-expectations (3.13.5)
78
79
  diff-lcs (>= 1.2.0, < 2.0)
79
80
  rspec-support (~> 3.13.0)
80
- rspec-mocks (3.13.2)
81
+ rspec-mocks (3.13.5)
81
82
  diff-lcs (>= 1.2.0, < 2.0)
82
83
  rspec-support (~> 3.13.0)
83
- rspec-support (3.13.2)
84
- rubocop (1.74.0)
84
+ rspec-support (3.13.5)
85
+ rubocop (1.82.1)
85
86
  json (~> 2.3)
86
87
  language_server-protocol (~> 3.17.0.2)
87
88
  lint_roller (~> 1.1.0)
@@ -89,35 +90,43 @@ GEM
89
90
  parser (>= 3.3.0.2)
90
91
  rainbow (>= 2.2.2, < 4.0)
91
92
  regexp_parser (>= 2.9.3, < 3.0)
92
- rubocop-ast (>= 1.38.0, < 2.0)
93
+ rubocop-ast (>= 1.48.0, < 2.0)
93
94
  ruby-progressbar (~> 1.7)
94
95
  unicode-display_width (>= 2.4.0, < 4.0)
95
- rubocop-ast (1.39.0)
96
- parser (>= 3.3.1.0)
97
- rubocop-performance (1.23.0)
98
- rubocop (>= 1.48.1, < 2.0)
99
- rubocop-ast (>= 1.31.1, < 2.0)
100
- rubocop-rails (2.27.0)
96
+ rubocop-ast (1.48.0)
97
+ parser (>= 3.3.7.2)
98
+ prism (~> 1.4)
99
+ rubocop-performance (1.26.0)
100
+ lint_roller (~> 1.1)
101
+ rubocop (>= 1.75.0, < 2.0)
102
+ rubocop-ast (>= 1.44.0, < 2.0)
103
+ rubocop-rails (2.33.3)
101
104
  activesupport (>= 4.2.0)
105
+ lint_roller (~> 1.1)
102
106
  rack (>= 1.1)
103
- rubocop (>= 1.52.0, < 2.0)
104
- rubocop-ast (>= 1.31.1, < 2.0)
105
- rubocop-rake (0.6.0)
106
- rubocop (~> 1.0)
107
- rubocop-rspec (3.3.0)
108
- rubocop (~> 1.61)
107
+ rubocop (>= 1.75.0, < 2.0)
108
+ rubocop-ast (>= 1.44.0, < 2.0)
109
+ rubocop-rake (0.7.1)
110
+ lint_roller (~> 1.1)
111
+ rubocop (>= 1.72.1)
112
+ rubocop-rspec (3.7.0)
113
+ lint_roller (~> 1.1)
114
+ rubocop (~> 1.72, >= 1.72.1)
109
115
  ruby-progressbar (1.13.0)
110
- rubyzip (2.3.2)
116
+ rubyzip (2.4.1)
117
+ securerandom (0.3.2)
111
118
  simplecov (0.15.1)
112
119
  docile (~> 1.1.0)
113
120
  json (>= 1.8, < 3)
114
121
  simplecov-html (~> 0.10.0)
115
122
  simplecov-html (0.10.2)
116
- thor (1.3.2)
123
+ thor (1.4.0)
117
124
  tomlrb (2.0.3)
118
125
  tzinfo (2.0.6)
119
126
  concurrent-ruby (~> 1.0)
120
- unicode-display_width (2.6.0)
127
+ unicode-display_width (3.2.0)
128
+ unicode-emoji (~> 4.1)
129
+ unicode-emoji (4.1.0)
121
130
  with_env (1.1.0)
122
131
  xml-simple (1.1.9)
123
132
  rexml
@@ -125,16 +134,12 @@ GEM
125
134
  zeitwerk (2.6.18)
126
135
 
127
136
  PLATFORMS
128
- aarch64-linux
129
- arm-linux
130
- arm64-darwin
131
- x86-linux
132
- x86_64-darwin
133
- x86_64-linux
137
+ arm64-darwin-24
138
+ ruby
134
139
 
135
140
  DEPENDENCIES
136
- activemodel (~> 6.1.7)
137
- activesupport (~> 6.1.7)
141
+ activemodel (~> 6.1.7.10)
142
+ activesupport (~> 6.1.7.10)
138
143
  aether_observatory!
139
144
  appraisal (~> 2.5.0)
140
145
  bundler (~> 2.1)
@@ -144,8 +149,10 @@ DEPENDENCIES
144
149
  rake (~> 13.0)
145
150
  rspec (~> 3.0)
146
151
  rubocop-powerhome!
152
+ securerandom (< 0.4.0)
147
153
  simplecov (= 0.15.1)
148
154
  yard (= 0.9.21)
155
+ zeitwerk (< 2.7)
149
156
 
150
157
  BUNDLED WITH
151
- 2.4.22
158
+ 2.5.23
@@ -4,8 +4,10 @@
4
4
 
5
5
  source "https://rubygems.org"
6
6
 
7
- gem "activemodel", "~> 7.0.8"
8
- gem "activesupport", "~> 7.0.8"
7
+ gem "activemodel", "~> 7.0.8.7"
8
+ gem "activesupport", "~> 7.0.8.7"
9
9
  gem "rubocop-powerhome", path: "../../rubocop-powerhome"
10
+ gem "securerandom", "< 0.4.0"
11
+ gem "zeitwerk", "< 2.7"
10
12
 
11
13
  gemspec path: "../"
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: ../../rubocop-powerhome
3
3
  specs:
4
- rubocop-powerhome (0.5.5)
5
- rubocop (= 1.74.0)
4
+ rubocop-powerhome (0.6.1)
5
+ rubocop (= 1.82.1)
6
6
  rubocop-performance
7
7
  rubocop-rails
8
8
  rubocop-rake
@@ -11,9 +11,9 @@ PATH
11
11
  PATH
12
12
  remote: ..
13
13
  specs:
14
- aether_observatory (1.0.1)
15
- activemodel (>= 6.0.6.1)
16
- activesupport (>= 6.0.6.1)
14
+ aether_observatory (1.1.0)
15
+ activemodel (>= 6.1)
16
+ activesupport (>= 6.1)
17
17
 
18
18
  GEM
19
19
  remote: https://rubygems.org/
@@ -29,17 +29,17 @@ GEM
29
29
  bundler
30
30
  rake
31
31
  thor (>= 0.14.0)
32
- ast (2.4.2)
32
+ ast (2.4.3)
33
33
  byebug (11.1.3)
34
34
  coderay (1.1.3)
35
- concurrent-ruby (1.3.4)
36
- csv (3.3.1)
37
- diff-lcs (1.5.1)
35
+ concurrent-ruby (1.3.5)
36
+ csv (3.3.5)
37
+ diff-lcs (1.6.2)
38
38
  docile (1.1.5)
39
- i18n (1.14.6)
39
+ i18n (1.14.7)
40
40
  concurrent-ruby (~> 1.0)
41
- json (2.9.0)
42
- language_server-protocol (3.17.0.3)
41
+ json (2.13.2)
42
+ language_server-protocol (3.17.0.5)
43
43
  license_finder (7.2.1)
44
44
  bundler
45
45
  csv (~> 3.2)
@@ -50,11 +50,12 @@ GEM
50
50
  xml-simple (~> 1.1.9)
51
51
  lint_roller (1.1.0)
52
52
  method_source (1.1.0)
53
- minitest (5.25.4)
54
- parallel (1.26.3)
55
- parser (3.3.6.0)
53
+ minitest (5.25.5)
54
+ parallel (1.27.0)
55
+ parser (3.3.9.0)
56
56
  ast (~> 2.4.1)
57
57
  racc
58
+ prism (1.4.0)
58
59
  pry (0.14.2)
59
60
  coderay (~> 1.1)
60
61
  method_source (~> 1.0)
@@ -62,25 +63,25 @@ GEM
62
63
  byebug (~> 11.0)
63
64
  pry (>= 0.13, < 0.15)
64
65
  racc (1.8.1)
65
- rack (2.2.10)
66
+ rack (3.2.0)
66
67
  rainbow (3.1.1)
67
- rake (13.2.1)
68
- regexp_parser (2.9.3)
69
- rexml (3.4.0)
70
- rspec (3.13.0)
68
+ rake (13.3.0)
69
+ regexp_parser (2.11.2)
70
+ rexml (3.4.1)
71
+ rspec (3.13.1)
71
72
  rspec-core (~> 3.13.0)
72
73
  rspec-expectations (~> 3.13.0)
73
74
  rspec-mocks (~> 3.13.0)
74
- rspec-core (3.13.2)
75
+ rspec-core (3.13.5)
75
76
  rspec-support (~> 3.13.0)
76
- rspec-expectations (3.13.3)
77
+ rspec-expectations (3.13.5)
77
78
  diff-lcs (>= 1.2.0, < 2.0)
78
79
  rspec-support (~> 3.13.0)
79
- rspec-mocks (3.13.2)
80
+ rspec-mocks (3.13.5)
80
81
  diff-lcs (>= 1.2.0, < 2.0)
81
82
  rspec-support (~> 3.13.0)
82
- rspec-support (3.13.2)
83
- rubocop (1.74.0)
83
+ rspec-support (3.13.4)
84
+ rubocop (1.82.1)
84
85
  json (~> 2.3)
85
86
  language_server-protocol (~> 3.17.0.2)
86
87
  lint_roller (~> 1.1.0)
@@ -88,39 +89,48 @@ GEM
88
89
  parser (>= 3.3.0.2)
89
90
  rainbow (>= 2.2.2, < 4.0)
90
91
  regexp_parser (>= 2.9.3, < 3.0)
91
- rubocop-ast (>= 1.38.0, < 2.0)
92
+ rubocop-ast (>= 1.48.0, < 2.0)
92
93
  ruby-progressbar (~> 1.7)
93
94
  unicode-display_width (>= 2.4.0, < 4.0)
94
- rubocop-ast (1.39.0)
95
- parser (>= 3.3.1.0)
96
- rubocop-performance (1.23.0)
97
- rubocop (>= 1.48.1, < 2.0)
98
- rubocop-ast (>= 1.31.1, < 2.0)
99
- rubocop-rails (2.27.0)
95
+ rubocop-ast (1.48.0)
96
+ parser (>= 3.3.7.2)
97
+ prism (~> 1.4)
98
+ rubocop-performance (1.24.0)
99
+ lint_roller (~> 1.1)
100
+ rubocop (>= 1.72.1, < 2.0)
101
+ rubocop-ast (>= 1.38.0, < 2.0)
102
+ rubocop-rails (2.30.3)
100
103
  activesupport (>= 4.2.0)
104
+ lint_roller (~> 1.1)
101
105
  rack (>= 1.1)
102
- rubocop (>= 1.52.0, < 2.0)
103
- rubocop-ast (>= 1.31.1, < 2.0)
104
- rubocop-rake (0.6.0)
105
- rubocop (~> 1.0)
106
- rubocop-rspec (3.3.0)
107
- rubocop (~> 1.61)
106
+ rubocop (>= 1.72.1, < 2.0)
107
+ rubocop-ast (>= 1.38.0, < 2.0)
108
+ rubocop-rake (0.7.1)
109
+ lint_roller (~> 1.1)
110
+ rubocop (>= 1.72.1)
111
+ rubocop-rspec (3.6.0)
112
+ lint_roller (~> 1.1)
113
+ rubocop (~> 1.72, >= 1.72.1)
108
114
  ruby-progressbar (1.13.0)
109
- rubyzip (2.3.2)
115
+ rubyzip (2.4.1)
116
+ securerandom (0.3.2)
110
117
  simplecov (0.15.1)
111
118
  docile (~> 1.1.0)
112
119
  json (>= 1.8, < 3)
113
120
  simplecov-html (~> 0.10.0)
114
121
  simplecov-html (0.10.2)
115
- thor (1.3.2)
122
+ thor (1.4.0)
116
123
  tomlrb (2.0.3)
117
124
  tzinfo (2.0.6)
118
125
  concurrent-ruby (~> 1.0)
119
- unicode-display_width (2.6.0)
126
+ unicode-display_width (3.1.4)
127
+ unicode-emoji (~> 4.0, >= 4.0.4)
128
+ unicode-emoji (4.0.4)
120
129
  with_env (1.1.0)
121
130
  xml-simple (1.1.9)
122
131
  rexml
123
132
  yard (0.9.21)
133
+ zeitwerk (2.6.18)
124
134
 
125
135
  PLATFORMS
126
136
  aarch64-linux
@@ -131,8 +141,8 @@ PLATFORMS
131
141
  x86_64-linux
132
142
 
133
143
  DEPENDENCIES
134
- activemodel (~> 7.0.8)
135
- activesupport (~> 7.0.8)
144
+ activemodel (~> 7.0.8.7)
145
+ activesupport (~> 7.0.8.7)
136
146
  aether_observatory!
137
147
  appraisal (~> 2.5.0)
138
148
  bundler (~> 2.1)
@@ -142,8 +152,10 @@ DEPENDENCIES
142
152
  rake (~> 13.0)
143
153
  rspec (~> 3.0)
144
154
  rubocop-powerhome!
155
+ securerandom (< 0.4.0)
145
156
  simplecov (= 0.15.1)
146
157
  yard (= 0.9.21)
158
+ zeitwerk (< 2.7)
147
159
 
148
160
  BUNDLED WITH
149
- 2.4.22
161
+ 2.5.23
@@ -4,8 +4,10 @@
4
4
 
5
5
  source "https://rubygems.org"
6
6
 
7
- gem "activemodel", "~> 7.1.3"
8
- gem "activesupport", "~> 7.1.3"
7
+ gem "activemodel", "~> 7.1.5.2"
8
+ gem "activesupport", "~> 7.1.5.2"
9
9
  gem "rubocop-powerhome", path: "../../rubocop-powerhome"
10
+ gem "securerandom", "< 0.4.0"
11
+ gem "zeitwerk", "< 2.7"
10
12
 
11
13
  gemspec path: "../"
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: ../../rubocop-powerhome
3
3
  specs:
4
- rubocop-powerhome (0.5.5)
5
- rubocop (= 1.74.0)
4
+ rubocop-powerhome (0.6.1)
5
+ rubocop (= 1.82.1)
6
6
  rubocop-performance
7
7
  rubocop-rails
8
8
  rubocop-rake
@@ -11,16 +11,16 @@ PATH
11
11
  PATH
12
12
  remote: ..
13
13
  specs:
14
- aether_observatory (1.0.1)
15
- activemodel (>= 6.0.6.1)
16
- activesupport (>= 6.0.6.1)
14
+ aether_observatory (1.1.0)
15
+ activemodel (>= 6.1)
16
+ activesupport (>= 6.1)
17
17
 
18
18
  GEM
19
19
  remote: https://rubygems.org/
20
20
  specs:
21
- activemodel (7.1.5.1)
22
- activesupport (= 7.1.5.1)
23
- activesupport (7.1.5.1)
21
+ activemodel (7.1.5.2)
22
+ activesupport (= 7.1.5.2)
23
+ activesupport (7.1.5.2)
24
24
  base64
25
25
  benchmark (>= 0.3)
26
26
  bigdecimal
@@ -37,22 +37,22 @@ GEM
37
37
  bundler
38
38
  rake
39
39
  thor (>= 0.14.0)
40
- ast (2.4.2)
41
- base64 (0.2.0)
42
- benchmark (0.4.0)
43
- bigdecimal (3.1.8)
40
+ ast (2.4.3)
41
+ base64 (0.3.0)
42
+ benchmark (0.4.1)
43
+ bigdecimal (3.2.2)
44
44
  byebug (11.1.3)
45
45
  coderay (1.1.3)
46
- concurrent-ruby (1.3.4)
47
- connection_pool (2.4.1)
48
- csv (3.3.1)
49
- diff-lcs (1.5.1)
46
+ concurrent-ruby (1.3.5)
47
+ connection_pool (2.5.3)
48
+ csv (3.3.5)
49
+ diff-lcs (1.6.2)
50
50
  docile (1.1.5)
51
- drb (2.2.1)
52
- i18n (1.14.6)
51
+ drb (2.2.3)
52
+ i18n (1.14.7)
53
53
  concurrent-ruby (~> 1.0)
54
- json (2.9.0)
55
- language_server-protocol (3.17.0.3)
54
+ json (2.13.2)
55
+ language_server-protocol (3.17.0.5)
56
56
  license_finder (7.2.1)
57
57
  bundler
58
58
  csv (~> 3.2)
@@ -62,14 +62,15 @@ GEM
62
62
  with_env (= 1.1.0)
63
63
  xml-simple (~> 1.1.9)
64
64
  lint_roller (1.1.0)
65
- logger (1.6.3)
65
+ logger (1.7.0)
66
66
  method_source (1.1.0)
67
- minitest (5.25.4)
67
+ minitest (5.25.5)
68
68
  mutex_m (0.3.0)
69
- parallel (1.26.3)
70
- parser (3.3.6.0)
69
+ parallel (1.27.0)
70
+ parser (3.3.9.0)
71
71
  ast (~> 2.4.1)
72
72
  racc
73
+ prism (1.4.0)
73
74
  pry (0.14.2)
74
75
  coderay (~> 1.1)
75
76
  method_source (~> 1.0)
@@ -77,25 +78,25 @@ GEM
77
78
  byebug (~> 11.0)
78
79
  pry (>= 0.13, < 0.15)
79
80
  racc (1.8.1)
80
- rack (3.1.8)
81
+ rack (3.2.0)
81
82
  rainbow (3.1.1)
82
- rake (13.2.1)
83
- regexp_parser (2.9.3)
84
- rexml (3.4.0)
85
- rspec (3.13.0)
83
+ rake (13.3.0)
84
+ regexp_parser (2.11.2)
85
+ rexml (3.4.1)
86
+ rspec (3.13.1)
86
87
  rspec-core (~> 3.13.0)
87
88
  rspec-expectations (~> 3.13.0)
88
89
  rspec-mocks (~> 3.13.0)
89
- rspec-core (3.13.2)
90
+ rspec-core (3.13.5)
90
91
  rspec-support (~> 3.13.0)
91
- rspec-expectations (3.13.3)
92
+ rspec-expectations (3.13.5)
92
93
  diff-lcs (>= 1.2.0, < 2.0)
93
94
  rspec-support (~> 3.13.0)
94
- rspec-mocks (3.13.2)
95
+ rspec-mocks (3.13.5)
95
96
  diff-lcs (>= 1.2.0, < 2.0)
96
97
  rspec-support (~> 3.13.0)
97
- rspec-support (3.13.2)
98
- rubocop (1.74.0)
98
+ rspec-support (3.13.4)
99
+ rubocop (1.82.1)
99
100
  json (~> 2.3)
100
101
  language_server-protocol (~> 3.17.0.2)
101
102
  lint_roller (~> 1.1.0)
@@ -103,40 +104,48 @@ GEM
103
104
  parser (>= 3.3.0.2)
104
105
  rainbow (>= 2.2.2, < 4.0)
105
106
  regexp_parser (>= 2.9.3, < 3.0)
106
- rubocop-ast (>= 1.38.0, < 2.0)
107
+ rubocop-ast (>= 1.48.0, < 2.0)
107
108
  ruby-progressbar (~> 1.7)
108
109
  unicode-display_width (>= 2.4.0, < 4.0)
109
- rubocop-ast (1.39.0)
110
- parser (>= 3.3.1.0)
111
- rubocop-performance (1.23.0)
112
- rubocop (>= 1.48.1, < 2.0)
113
- rubocop-ast (>= 1.31.1, < 2.0)
114
- rubocop-rails (2.27.0)
110
+ rubocop-ast (1.48.0)
111
+ parser (>= 3.3.7.2)
112
+ prism (~> 1.4)
113
+ rubocop-performance (1.24.0)
114
+ lint_roller (~> 1.1)
115
+ rubocop (>= 1.72.1, < 2.0)
116
+ rubocop-ast (>= 1.38.0, < 2.0)
117
+ rubocop-rails (2.30.3)
115
118
  activesupport (>= 4.2.0)
119
+ lint_roller (~> 1.1)
116
120
  rack (>= 1.1)
117
- rubocop (>= 1.52.0, < 2.0)
118
- rubocop-ast (>= 1.31.1, < 2.0)
119
- rubocop-rake (0.6.0)
120
- rubocop (~> 1.0)
121
- rubocop-rspec (3.3.0)
122
- rubocop (~> 1.61)
121
+ rubocop (>= 1.72.1, < 2.0)
122
+ rubocop-ast (>= 1.38.0, < 2.0)
123
+ rubocop-rake (0.7.1)
124
+ lint_roller (~> 1.1)
125
+ rubocop (>= 1.72.1)
126
+ rubocop-rspec (3.6.0)
127
+ lint_roller (~> 1.1)
128
+ rubocop (~> 1.72, >= 1.72.1)
123
129
  ruby-progressbar (1.13.0)
124
- rubyzip (2.3.2)
130
+ rubyzip (2.4.1)
125
131
  securerandom (0.3.2)
126
132
  simplecov (0.15.1)
127
133
  docile (~> 1.1.0)
128
134
  json (>= 1.8, < 3)
129
135
  simplecov-html (~> 0.10.0)
130
136
  simplecov-html (0.10.2)
131
- thor (1.3.2)
137
+ thor (1.4.0)
132
138
  tomlrb (2.0.3)
133
139
  tzinfo (2.0.6)
134
140
  concurrent-ruby (~> 1.0)
135
- unicode-display_width (2.6.0)
141
+ unicode-display_width (3.1.4)
142
+ unicode-emoji (~> 4.0, >= 4.0.4)
143
+ unicode-emoji (4.0.4)
136
144
  with_env (1.1.0)
137
145
  xml-simple (1.1.9)
138
146
  rexml
139
147
  yard (0.9.21)
148
+ zeitwerk (2.6.18)
140
149
 
141
150
  PLATFORMS
142
151
  aarch64-linux
@@ -147,8 +156,8 @@ PLATFORMS
147
156
  x86_64-linux
148
157
 
149
158
  DEPENDENCIES
150
- activemodel (~> 7.1.3)
151
- activesupport (~> 7.1.3)
159
+ activemodel (~> 7.1.5.2)
160
+ activesupport (~> 7.1.5.2)
152
161
  aether_observatory!
153
162
  appraisal (~> 2.5.0)
154
163
  bundler (~> 2.1)
@@ -158,8 +167,10 @@ DEPENDENCIES
158
167
  rake (~> 13.0)
159
168
  rspec (~> 3.0)
160
169
  rubocop-powerhome!
170
+ securerandom (< 0.4.0)
161
171
  simplecov (= 0.15.1)
162
172
  yard (= 0.9.21)
173
+ zeitwerk (< 2.7)
163
174
 
164
175
  BUNDLED WITH
165
- 2.4.22
176
+ 2.5.23
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file was generated by Appraisal
4
+
5
+ source "https://rubygems.org"
6
+
7
+ gem "activemodel", "~> 7.2.2.2"
8
+ gem "activesupport", "~> 7.2.2.2"
9
+ gem "rubocop-powerhome", path: "../../rubocop-powerhome"
10
+ gem "securerandom", "< 0.4.0"
11
+ gem "zeitwerk", "< 2.7"
12
+
13
+ gemspec path: "../"
@@ -0,0 +1,170 @@
1
+ PATH
2
+ remote: ../../rubocop-powerhome
3
+ specs:
4
+ rubocop-powerhome (0.6.1)
5
+ rubocop (= 1.82.1)
6
+ rubocop-performance
7
+ rubocop-rails
8
+ rubocop-rake
9
+ rubocop-rspec
10
+
11
+ PATH
12
+ remote: ..
13
+ specs:
14
+ aether_observatory (1.1.0)
15
+ activemodel (>= 6.1)
16
+ activesupport (>= 6.1)
17
+
18
+ GEM
19
+ remote: https://rubygems.org/
20
+ specs:
21
+ activemodel (7.2.2.2)
22
+ activesupport (= 7.2.2.2)
23
+ activesupport (7.2.2.2)
24
+ base64
25
+ benchmark (>= 0.3)
26
+ bigdecimal
27
+ concurrent-ruby (~> 1.0, >= 1.3.1)
28
+ connection_pool (>= 2.2.5)
29
+ drb
30
+ i18n (>= 1.6, < 2)
31
+ logger (>= 1.4.2)
32
+ minitest (>= 5.1)
33
+ securerandom (>= 0.3)
34
+ tzinfo (~> 2.0, >= 2.0.5)
35
+ appraisal (2.5.0)
36
+ bundler
37
+ rake
38
+ thor (>= 0.14.0)
39
+ ast (2.4.3)
40
+ base64 (0.3.0)
41
+ benchmark (0.4.1)
42
+ bigdecimal (3.2.2)
43
+ byebug (11.1.3)
44
+ coderay (1.1.3)
45
+ concurrent-ruby (1.3.5)
46
+ connection_pool (2.5.3)
47
+ csv (3.3.5)
48
+ diff-lcs (1.6.2)
49
+ docile (1.1.5)
50
+ drb (2.2.3)
51
+ i18n (1.14.7)
52
+ concurrent-ruby (~> 1.0)
53
+ json (2.13.2)
54
+ language_server-protocol (3.17.0.5)
55
+ license_finder (7.2.1)
56
+ bundler
57
+ csv (~> 3.2)
58
+ rubyzip (>= 1, < 3)
59
+ thor (~> 1.2)
60
+ tomlrb (>= 1.3, < 2.1)
61
+ with_env (= 1.1.0)
62
+ xml-simple (~> 1.1.9)
63
+ lint_roller (1.1.0)
64
+ logger (1.7.0)
65
+ method_source (1.1.0)
66
+ minitest (5.25.5)
67
+ parallel (1.27.0)
68
+ parser (3.3.9.0)
69
+ ast (~> 2.4.1)
70
+ racc
71
+ prism (1.4.0)
72
+ pry (0.14.2)
73
+ coderay (~> 1.1)
74
+ method_source (~> 1.0)
75
+ pry-byebug (3.10.1)
76
+ byebug (~> 11.0)
77
+ pry (>= 0.13, < 0.15)
78
+ racc (1.8.1)
79
+ rack (3.2.0)
80
+ rainbow (3.1.1)
81
+ rake (13.3.0)
82
+ regexp_parser (2.11.2)
83
+ rexml (3.4.1)
84
+ rspec (3.13.1)
85
+ rspec-core (~> 3.13.0)
86
+ rspec-expectations (~> 3.13.0)
87
+ rspec-mocks (~> 3.13.0)
88
+ rspec-core (3.13.5)
89
+ rspec-support (~> 3.13.0)
90
+ rspec-expectations (3.13.5)
91
+ diff-lcs (>= 1.2.0, < 2.0)
92
+ rspec-support (~> 3.13.0)
93
+ rspec-mocks (3.13.5)
94
+ diff-lcs (>= 1.2.0, < 2.0)
95
+ rspec-support (~> 3.13.0)
96
+ rspec-support (3.13.4)
97
+ rubocop (1.82.1)
98
+ json (~> 2.3)
99
+ language_server-protocol (~> 3.17.0.2)
100
+ lint_roller (~> 1.1.0)
101
+ parallel (~> 1.10)
102
+ parser (>= 3.3.0.2)
103
+ rainbow (>= 2.2.2, < 4.0)
104
+ regexp_parser (>= 2.9.3, < 3.0)
105
+ rubocop-ast (>= 1.48.0, < 2.0)
106
+ ruby-progressbar (~> 1.7)
107
+ unicode-display_width (>= 2.4.0, < 4.0)
108
+ rubocop-ast (1.48.0)
109
+ parser (>= 3.3.7.2)
110
+ prism (~> 1.4)
111
+ rubocop-performance (1.24.0)
112
+ lint_roller (~> 1.1)
113
+ rubocop (>= 1.72.1, < 2.0)
114
+ rubocop-ast (>= 1.38.0, < 2.0)
115
+ rubocop-rails (2.30.3)
116
+ activesupport (>= 4.2.0)
117
+ lint_roller (~> 1.1)
118
+ rack (>= 1.1)
119
+ rubocop (>= 1.72.1, < 2.0)
120
+ rubocop-ast (>= 1.38.0, < 2.0)
121
+ rubocop-rake (0.7.1)
122
+ lint_roller (~> 1.1)
123
+ rubocop (>= 1.72.1)
124
+ rubocop-rspec (3.6.0)
125
+ lint_roller (~> 1.1)
126
+ rubocop (~> 1.72, >= 1.72.1)
127
+ ruby-progressbar (1.13.0)
128
+ rubyzip (2.4.1)
129
+ securerandom (0.3.2)
130
+ simplecov (0.15.1)
131
+ docile (~> 1.1.0)
132
+ json (>= 1.8, < 3)
133
+ simplecov-html (~> 0.10.0)
134
+ simplecov-html (0.10.2)
135
+ thor (1.4.0)
136
+ tomlrb (2.0.3)
137
+ tzinfo (2.0.6)
138
+ concurrent-ruby (~> 1.0)
139
+ unicode-display_width (3.1.4)
140
+ unicode-emoji (~> 4.0, >= 4.0.4)
141
+ unicode-emoji (4.0.4)
142
+ with_env (1.1.0)
143
+ xml-simple (1.1.9)
144
+ rexml
145
+ yard (0.9.21)
146
+ zeitwerk (2.6.18)
147
+
148
+ PLATFORMS
149
+ arm64-darwin-24
150
+ ruby
151
+
152
+ DEPENDENCIES
153
+ activemodel (~> 7.2.2.2)
154
+ activesupport (~> 7.2.2.2)
155
+ aether_observatory!
156
+ appraisal (~> 2.5.0)
157
+ bundler (~> 2.1)
158
+ license_finder (~> 7.0)
159
+ pry (>= 0.14)
160
+ pry-byebug (= 3.10.1)
161
+ rake (~> 13.0)
162
+ rspec (~> 3.0)
163
+ rubocop-powerhome!
164
+ securerandom (< 0.4.0)
165
+ simplecov (= 0.15.1)
166
+ yard (= 0.9.21)
167
+ zeitwerk (< 2.7)
168
+
169
+ BUNDLED WITH
170
+ 2.5.23
@@ -5,5 +5,11 @@ module AetherObservatory
5
5
  initializer "aether_observatory.logger" do
6
6
  AetherObservatory.config.logger ||= Rails.logger
7
7
  end
8
+
9
+ initializer "aether_observatory.reloader" do
10
+ ActiveSupport::Reloader.before_class_unload do
11
+ ObserverBase.descendants.each(&:stop)
12
+ end
13
+ end
8
14
  end
9
15
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AetherObservatory
4
- VERSION = "1.0.1"
4
+ VERSION = "1.1.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aether_observatory
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Terry Finn
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 6.0.6.1
19
+ version: '6.1'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 6.0.6.1
26
+ version: '6.1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activesupport
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 6.0.6.1
33
+ version: '6.1'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 6.0.6.1
40
+ version: '6.1'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: appraisal
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -191,6 +191,8 @@ files:
191
191
  - gemfiles/rails_7_0.gemfile.lock
192
192
  - gemfiles/rails_7_1.gemfile
193
193
  - gemfiles/rails_7_1.gemfile.lock
194
+ - gemfiles/rails_7_2.gemfile
195
+ - gemfiles/rails_7_2.gemfile.lock
194
196
  - lib/aether_observatory.rb
195
197
  - lib/aether_observatory/README.md
196
198
  - lib/aether_observatory/backend/memory.rb