rails_band 0.5.0 → 0.6.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 +4 -4
- data/README.md +12 -11
- data/lib/rails_band/active_storage/event/analyze.rb +14 -0
- data/lib/rails_band/active_storage/event/preview.rb +16 -0
- data/lib/rails_band/active_storage/event/service_delete.rb +20 -0
- data/lib/rails_band/active_storage/event/service_delete_prefixed.rb +18 -0
- data/lib/rails_band/active_storage/event/service_download.rb +20 -0
- data/lib/rails_band/active_storage/event/service_download_chunk.rb +24 -0
- data/lib/rails_band/active_storage/event/service_exist.rb +26 -0
- data/lib/rails_band/active_storage/event/service_streaming_download.rb +20 -0
- data/lib/rails_band/active_storage/event/service_update_metadata.rb +28 -0
- data/lib/rails_band/active_storage/event/service_upload.rb +26 -0
- data/lib/rails_band/active_storage/event/service_url.rb +24 -0
- data/lib/rails_band/active_storage/event/transform.rb +11 -0
- data/lib/rails_band/active_storage/log_subscriber.rb +77 -0
- data/lib/rails_band/railtie.rb +4 -0
- data/lib/rails_band/version.rb +1 -1
- data/lib/rails_band.rb +4 -0
- metadata +22 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3d8062da3d8ef85024e23c439e5d3eea7daca6d1a02b67e8182ba7ca570f3b22
|
4
|
+
data.tar.gz: dff4f9a0b08ef4c09dde608ad7e00855859014059cbc7c6e430725d6cc51548a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ab91a63e9c231a7c92731c276749753b8ef862854192cb5cc9e10cfc2d0d96c56d293ba2fcbbc6d307cf6894d33ce71e82b86ab00e170a8314c6fd090414f362
|
7
|
+
data.tar.gz: 592ec597dfcdf32bbf1be74a962b4763c6b9c60903a2788fc44bf40d44ee5be379fbd3da9e70837d14c996cfe3f860cde368f8b02e4b01a537f9775819857ad0
|
data/README.md
CHANGED
@@ -139,17 +139,18 @@ These are Rails Instrumentation API hooks supported by this gem so far.
|
|
139
139
|
|
140
140
|
| Event name | Supported |
|
141
141
|
| ----------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- |
|
142
|
-
| [`service_upload.active_storage`](https://guides.rubyonrails.org/active_support_instrumentation.html#service-upload-active-storage) |
|
143
|
-
| [`service_streaming_download.active_storage`](https://guides.rubyonrails.org/active_support_instrumentation.html#service-streaming-download-active-storage) |
|
144
|
-
| [`service_download_chunk.active_storage`](https://guides.rubyonrails.org/active_support_instrumentation.html#service-download-chunk-active-storage) |
|
145
|
-
| [`service_download.active_storage`](https://guides.rubyonrails.org/active_support_instrumentation.html#service-download-active-storage) |
|
146
|
-
| [`service_delete.active_storage`](https://guides.rubyonrails.org/active_support_instrumentation.html#service-delete-active-storage) |
|
147
|
-
| [`service_delete_prefixed.active_storage`](https://guides.rubyonrails.org/active_support_instrumentation.html#service-delete-prefixed-active-storage) |
|
148
|
-
| [`service_exist.active_storage`](https://guides.rubyonrails.org/active_support_instrumentation.html#service-exist-active-storage) |
|
149
|
-
| [`service_url.active_storage`](https://guides.rubyonrails.org/active_support_instrumentation.html#service-url-active-storage) |
|
150
|
-
| [`service_update_metadata.active_storage`](https://guides.rubyonrails.org/active_support_instrumentation.html#service-update-metadata-active-storage) |
|
151
|
-
| [`preview.active_storage`](https://guides.rubyonrails.org/active_support_instrumentation.html#preview-active-storage) |
|
152
|
-
| [`
|
142
|
+
| [`service_upload.active_storage`](https://guides.rubyonrails.org/active_support_instrumentation.html#service-upload-active-storage) | ✅ |
|
143
|
+
| [`service_streaming_download.active_storage`](https://guides.rubyonrails.org/active_support_instrumentation.html#service-streaming-download-active-storage) | ✅ |
|
144
|
+
| [`service_download_chunk.active_storage`](https://guides.rubyonrails.org/active_support_instrumentation.html#service-download-chunk-active-storage) | ✅ |
|
145
|
+
| [`service_download.active_storage`](https://guides.rubyonrails.org/active_support_instrumentation.html#service-download-active-storage) | ✅ |
|
146
|
+
| [`service_delete.active_storage`](https://guides.rubyonrails.org/active_support_instrumentation.html#service-delete-active-storage) | ✅ |
|
147
|
+
| [`service_delete_prefixed.active_storage`](https://guides.rubyonrails.org/active_support_instrumentation.html#service-delete-prefixed-active-storage) | ✅ |
|
148
|
+
| [`service_exist.active_storage`](https://guides.rubyonrails.org/active_support_instrumentation.html#service-exist-active-storage) | ✅ |
|
149
|
+
| [`service_url.active_storage`](https://guides.rubyonrails.org/active_support_instrumentation.html#service-url-active-storage) | ✅ |
|
150
|
+
| [`service_update_metadata.active_storage`](https://guides.rubyonrails.org/active_support_instrumentation.html#service-update-metadata-active-storage) | ✅ |
|
151
|
+
| [`preview.active_storage`](https://guides.rubyonrails.org/active_support_instrumentation.html#preview-active-storage) | ✅ |
|
152
|
+
| [`transform.active_storage`](https://guides.rubyonrails.org/active_support_instrumentation.html#transform-active-storage) | ✅ |
|
153
|
+
| [`analyze.active_storage`](https://edgeguides.rubyonrails.org/active_support_instrumentation.html#analyze-active-storage) | ✅ |
|
153
154
|
|
154
155
|
### Railties
|
155
156
|
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RailsBand
|
4
|
+
module ActiveStorage
|
5
|
+
module Event
|
6
|
+
# A wrapper for the event that is passed to `analyze.active_storage`.
|
7
|
+
class Analyze < BaseEvent
|
8
|
+
def analyzer
|
9
|
+
@analyzer ||= @event.payload.fetch(:analyzer)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RailsBand
|
4
|
+
module ActiveStorage
|
5
|
+
module Event
|
6
|
+
# A wrapper for the event that is passed to `preview.active_storage`.
|
7
|
+
class Preview < BaseEvent
|
8
|
+
def key
|
9
|
+
return @key if defined? @key
|
10
|
+
|
11
|
+
@key = @event.payload[:key]
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RailsBand
|
4
|
+
module ActiveStorage
|
5
|
+
module Event
|
6
|
+
# A wrapper for the event that is passed to `service_delete.active_storage`.
|
7
|
+
class ServiceDelete < BaseEvent
|
8
|
+
def key
|
9
|
+
return @key if defined? @key
|
10
|
+
|
11
|
+
@key = @event.payload[:key]
|
12
|
+
end
|
13
|
+
|
14
|
+
def service
|
15
|
+
@service ||= @event.payload.fetch(:service)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RailsBand
|
4
|
+
module ActiveStorage
|
5
|
+
module Event
|
6
|
+
# A wrapper for the event that is passed to `service_delete_prefixed.active_storage`.
|
7
|
+
class ServiceDeletePrefixed < BaseEvent
|
8
|
+
def prefix
|
9
|
+
@prefix ||= @event.payload.fetch(:prefix)
|
10
|
+
end
|
11
|
+
|
12
|
+
def service
|
13
|
+
@service ||= @event.payload.fetch(:service)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RailsBand
|
4
|
+
module ActiveStorage
|
5
|
+
module Event
|
6
|
+
# A wrapper for the event that is passed to `service_download.active_storage`.
|
7
|
+
class ServiceDownload < BaseEvent
|
8
|
+
def key
|
9
|
+
return @key if defined? @key
|
10
|
+
|
11
|
+
@key = @event.payload[:key]
|
12
|
+
end
|
13
|
+
|
14
|
+
def service
|
15
|
+
@service ||= @event.payload.fetch(:service)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RailsBand
|
4
|
+
module ActiveStorage
|
5
|
+
module Event
|
6
|
+
# A wrapper for the event that is passed to `service_download_chunk.active_storage`.
|
7
|
+
class ServiceDownloadChunk < BaseEvent
|
8
|
+
def key
|
9
|
+
return @key if defined? @key
|
10
|
+
|
11
|
+
@key = @event.payload[:key]
|
12
|
+
end
|
13
|
+
|
14
|
+
def service
|
15
|
+
@service ||= @event.payload.fetch(:service)
|
16
|
+
end
|
17
|
+
|
18
|
+
def range
|
19
|
+
@range ||= @event.payload.fetch(:range)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RailsBand
|
4
|
+
module ActiveStorage
|
5
|
+
module Event
|
6
|
+
# A wrapper for the event that is passed to `service_exist.active_storage`.
|
7
|
+
class ServiceExist < BaseEvent
|
8
|
+
def key
|
9
|
+
return @key if defined? @key
|
10
|
+
|
11
|
+
@key = @event.payload[:key]
|
12
|
+
end
|
13
|
+
|
14
|
+
def service
|
15
|
+
@service ||= @event.payload.fetch(:service)
|
16
|
+
end
|
17
|
+
|
18
|
+
def exist
|
19
|
+
return @exist if defined? @exist
|
20
|
+
|
21
|
+
@exist = @event.payload.fetch(:exist)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RailsBand
|
4
|
+
module ActiveStorage
|
5
|
+
module Event
|
6
|
+
# A wrapper for the event that is passed to `service_streaming_download.active_storage`.
|
7
|
+
class ServiceStreamingDownload < BaseEvent
|
8
|
+
def key
|
9
|
+
return @key if defined? @key
|
10
|
+
|
11
|
+
@key = @event.payload[:key]
|
12
|
+
end
|
13
|
+
|
14
|
+
def service
|
15
|
+
@service ||= @event.payload.fetch(:service)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RailsBand
|
4
|
+
module ActiveStorage
|
5
|
+
module Event
|
6
|
+
# A wrapper for the event that is passed to `service_update_metadata.active_storage`.
|
7
|
+
class ServiceUpdateMetadata < BaseEvent
|
8
|
+
def key
|
9
|
+
return @key if defined? @key
|
10
|
+
|
11
|
+
@key = @event.payload[:key]
|
12
|
+
end
|
13
|
+
|
14
|
+
def service
|
15
|
+
@service ||= @event.payload.fetch(:service)
|
16
|
+
end
|
17
|
+
|
18
|
+
def content_type
|
19
|
+
@content_type ||= @event.payload.fetch(:content_type)
|
20
|
+
end
|
21
|
+
|
22
|
+
def disposition
|
23
|
+
@disposition ||= @event.payload.fetch(:disposition)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RailsBand
|
4
|
+
module ActiveStorage
|
5
|
+
module Event
|
6
|
+
# A wrapper for the event that is passed to `service_upload.active_storage`.
|
7
|
+
class ServiceUpload < BaseEvent
|
8
|
+
def key
|
9
|
+
return @key if defined? @key
|
10
|
+
|
11
|
+
@key = @event.payload[:key]
|
12
|
+
end
|
13
|
+
|
14
|
+
def checksum
|
15
|
+
return @checksum if defined? @checksum
|
16
|
+
|
17
|
+
@checksum = @event.payload[:checksum]
|
18
|
+
end
|
19
|
+
|
20
|
+
def service
|
21
|
+
@service ||= @event.payload.fetch(:service)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RailsBand
|
4
|
+
module ActiveStorage
|
5
|
+
module Event
|
6
|
+
# A wrapper for the event that is passed to `service_url.active_storage`.
|
7
|
+
class ServiceUrl < BaseEvent
|
8
|
+
def key
|
9
|
+
return @key if defined? @key
|
10
|
+
|
11
|
+
@key = @event.payload[:key]
|
12
|
+
end
|
13
|
+
|
14
|
+
def service
|
15
|
+
@service ||= @event.payload.fetch(:service)
|
16
|
+
end
|
17
|
+
|
18
|
+
def url
|
19
|
+
@url ||= @event.payload.fetch(:url)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,77 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'rails_band/active_storage/event/service_upload'
|
4
|
+
require 'rails_band/active_storage/event/service_streaming_download'
|
5
|
+
require 'rails_band/active_storage/event/service_download_chunk'
|
6
|
+
require 'rails_band/active_storage/event/service_download'
|
7
|
+
require 'rails_band/active_storage/event/service_delete'
|
8
|
+
require 'rails_band/active_storage/event/service_delete_prefixed'
|
9
|
+
require 'rails_band/active_storage/event/service_exist'
|
10
|
+
require 'rails_band/active_storage/event/service_url'
|
11
|
+
require 'rails_band/active_storage/event/service_update_metadata'
|
12
|
+
require 'rails_band/active_storage/event/preview'
|
13
|
+
require 'rails_band/active_storage/event/transform'
|
14
|
+
require 'rails_band/active_storage/event/analyze'
|
15
|
+
|
16
|
+
module RailsBand
|
17
|
+
module ActiveStorage
|
18
|
+
# The custom LogSubscriber for ActiveStorage.
|
19
|
+
class LogSubscriber < ::ActiveSupport::LogSubscriber
|
20
|
+
mattr_accessor :consumers
|
21
|
+
|
22
|
+
def service_upload(event)
|
23
|
+
consumer_of(__method__)&.call(Event::ServiceUpload.new(event))
|
24
|
+
end
|
25
|
+
|
26
|
+
def service_streaming_download(event)
|
27
|
+
consumer_of(__method__)&.call(Event::ServiceStreamingDownload.new(event))
|
28
|
+
end
|
29
|
+
|
30
|
+
def service_download_chunk(event)
|
31
|
+
consumer_of(__method__)&.call(Event::ServiceDownloadChunk.new(event))
|
32
|
+
end
|
33
|
+
|
34
|
+
def service_download(event)
|
35
|
+
consumer_of(__method__)&.call(Event::ServiceDownload.new(event))
|
36
|
+
end
|
37
|
+
|
38
|
+
def service_delete(event)
|
39
|
+
consumer_of(__method__)&.call(Event::ServiceDelete.new(event))
|
40
|
+
end
|
41
|
+
|
42
|
+
def service_delete_prefixed(event)
|
43
|
+
consumer_of(__method__)&.call(Event::ServiceDeletePrefixed.new(event))
|
44
|
+
end
|
45
|
+
|
46
|
+
def service_exist(event)
|
47
|
+
consumer_of(__method__)&.call(Event::ServiceExist.new(event))
|
48
|
+
end
|
49
|
+
|
50
|
+
def service_url(event)
|
51
|
+
consumer_of(__method__)&.call(Event::ServiceUrl.new(event))
|
52
|
+
end
|
53
|
+
|
54
|
+
def service_update_metadata(event)
|
55
|
+
consumer_of(__method__)&.call(Event::ServiceUpdateMetadata.new(event))
|
56
|
+
end
|
57
|
+
|
58
|
+
def preview(event)
|
59
|
+
consumer_of(__method__)&.call(Event::Preview.new(event))
|
60
|
+
end
|
61
|
+
|
62
|
+
def transform(event)
|
63
|
+
consumer_of(__method__)&.call(Event::Transform.new(event))
|
64
|
+
end
|
65
|
+
|
66
|
+
def analyze(event)
|
67
|
+
consumer_of(__method__)&.call(Event::Analyze.new(event))
|
68
|
+
end
|
69
|
+
|
70
|
+
private
|
71
|
+
|
72
|
+
def consumer_of(sub_event)
|
73
|
+
consumers[:"#{sub_event}.active_storage"] || consumers[:active_storage] || consumers[:default]
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
data/lib/rails_band/railtie.rb
CHANGED
@@ -34,6 +34,10 @@ module RailsBand
|
|
34
34
|
RailsBand::ActionCable::LogSubscriber.attach_to :action_cable
|
35
35
|
end
|
36
36
|
|
37
|
+
if defined?(::ActiveStorage)
|
38
|
+
RailsBand::ActiveStorage::LogSubscriber.attach_to :active_storage
|
39
|
+
end
|
40
|
+
|
37
41
|
RailsBand::ActiveSupport::LogSubscriber.attach_to :active_support
|
38
42
|
|
39
43
|
if defined?(::ActiveJob)
|
data/lib/rails_band/version.rb
CHANGED
data/lib/rails_band.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_band
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yutaka Kamei
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-03-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -17,6 +17,9 @@ dependencies:
|
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '6.0'
|
20
|
+
- - "!="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 7.0.0
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -24,6 +27,9 @@ dependencies:
|
|
24
27
|
- - ">="
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: '6.0'
|
30
|
+
- - "!="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 7.0.0
|
27
33
|
description: A Rails plugin to facilitate the use of Rails Instrumentation API.
|
28
34
|
email:
|
29
35
|
- kamei@yykamei.me
|
@@ -73,6 +79,19 @@ files:
|
|
73
79
|
- lib/rails_band/active_record/event/sql.rb
|
74
80
|
- lib/rails_band/active_record/event/strict_loading_violation.rb
|
75
81
|
- lib/rails_band/active_record/log_subscriber.rb
|
82
|
+
- lib/rails_band/active_storage/event/analyze.rb
|
83
|
+
- lib/rails_band/active_storage/event/preview.rb
|
84
|
+
- lib/rails_band/active_storage/event/service_delete.rb
|
85
|
+
- lib/rails_band/active_storage/event/service_delete_prefixed.rb
|
86
|
+
- lib/rails_band/active_storage/event/service_download.rb
|
87
|
+
- lib/rails_band/active_storage/event/service_download_chunk.rb
|
88
|
+
- lib/rails_band/active_storage/event/service_exist.rb
|
89
|
+
- lib/rails_band/active_storage/event/service_streaming_download.rb
|
90
|
+
- lib/rails_band/active_storage/event/service_update_metadata.rb
|
91
|
+
- lib/rails_band/active_storage/event/service_upload.rb
|
92
|
+
- lib/rails_band/active_storage/event/service_url.rb
|
93
|
+
- lib/rails_band/active_storage/event/transform.rb
|
94
|
+
- lib/rails_band/active_storage/log_subscriber.rb
|
76
95
|
- lib/rails_band/active_support/event/cache_delete.rb
|
77
96
|
- lib/rails_band/active_support/event/cache_delete_multi.rb
|
78
97
|
- lib/rails_band/active_support/event/cache_exist.rb
|
@@ -109,7 +128,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
109
128
|
- !ruby/object:Gem::Version
|
110
129
|
version: '0'
|
111
130
|
requirements: []
|
112
|
-
rubygems_version: 3.
|
131
|
+
rubygems_version: 3.3.7
|
113
132
|
signing_key:
|
114
133
|
specification_version: 4
|
115
134
|
summary: Easy-to-use Rails Instrumentation API
|