app_profiler 0.1.8 → 0.1.10

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5a4f543410317515564af0f46a5f437e33af8a7c66334e6cfd42830e37dfb89c
4
- data.tar.gz: bb37127c11ae94eade6d736d14d3609e7e99854709659dd9b7bb081e8cbb86b3
3
+ metadata.gz: 70f971ebae2492140483b90ada2f0d1daf33874803dcc4ea5404877093651974
4
+ data.tar.gz: df8395bf47f6e378f9322386a17c1934e9b38ac9269ea7ded80a721de7a5c4e9
5
5
  SHA512:
6
- metadata.gz: 5a6da942b841feddb9b78d8a212b4c546b89e4966130419c87ad167f5c698301753fa4c14c4a6548338b341b217fed8418a71e9ceb2dc3a9289211436c036bd8
7
- data.tar.gz: bdb22060ba83526a177c34302e731960d4eff6c563efe313f19e8282535632fa61c71ba269ce90700066166b6102244b1b1cdf6463b97d877fc45deb27828127
6
+ metadata.gz: 2a10f138198666ddc840658e9599c05c40d4d2a14442b0cfa52df8776e00601fda95aaea871138656cdf2a05ae697966e30fbc62c3a1e5351b04987639a63b82
7
+ data.tar.gz: 2c6af888489015d1bcd827704a7710512455bd2c05d4e3aee596c32063d3b134049d592e5c0012d947e7f1f4731e8a55752303064f866cb535d8fb9ae06b91b9
@@ -4,8 +4,8 @@ module AppProfiler
4
4
  class Middleware
5
5
  class ViewAction < BaseAction
6
6
  class << self
7
- def call(profile, _params = {})
8
- profile.view
7
+ def call(profile, params = {})
8
+ profile.view(**params)
9
9
  end
10
10
  end
11
11
  end
@@ -33,8 +33,8 @@ module AppProfiler
33
33
  @data[:mode]
34
34
  end
35
35
 
36
- def view
37
- AppProfiler.viewer.view(self)
36
+ def view(params = {})
37
+ AppProfiler.viewer.view(self, **params)
38
38
  end
39
39
 
40
40
  def upload
@@ -63,7 +63,7 @@ module AppProfiler
63
63
  private
64
64
 
65
65
  def default_middleware_action
66
- if Rails.env.development?
66
+ if Rails.env.development? || Rails.env.test?
67
67
  Middleware::ViewAction
68
68
  else
69
69
  Middleware::UploadAction
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AppProfiler
4
- VERSION = "0.1.8"
4
+ VERSION = "0.1.10"
5
5
  end
@@ -4,12 +4,12 @@ module AppProfiler
4
4
  module Viewer
5
5
  class BaseViewer
6
6
  class << self
7
- def view(profile)
8
- new(profile).view
7
+ def view(profile, params = {})
8
+ new(profile).view(**params)
9
9
  end
10
10
  end
11
11
 
12
- def view(_profile)
12
+ def view(_params = {})
13
13
  raise NotImplementedError
14
14
  end
15
15
  end
@@ -1,12 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ gem "rails-html-sanitizer", ">= 1.6.0"
3
4
  require "rails-html-sanitizer"
4
5
 
5
6
  module AppProfiler
6
7
  module Viewer
7
8
  class SpeedscopeRemoteViewer < BaseViewer
8
9
  class BaseMiddleware
9
- class Sanitizer < Rails::Html::SafeListSanitizer
10
+ class Sanitizer < Rails::HTML::Sanitizer.best_supported_vendor.safe_list_sanitizer
10
11
  self.allowed_tags = Set.new([
11
12
  "strong", "em", "b", "i", "p", "code", "pre", "tt", "samp", "kbd", "var", "sub",
12
13
  "sup", "dfn", "cite", "big", "small", "address", "hr", "br", "div", "span", "h1",
@@ -7,8 +7,8 @@ module AppProfiler
7
7
  module Viewer
8
8
  class SpeedscopeRemoteViewer < BaseViewer
9
9
  class << self
10
- def view(profile)
11
- new(profile).view
10
+ def view(profile, params = {})
11
+ new(profile).view(**params)
12
12
  end
13
13
  end
14
14
 
@@ -17,9 +17,15 @@ module AppProfiler
17
17
  @profile = profile
18
18
  end
19
19
 
20
- def view
20
+ def view(response: nil, autoredirect: nil, async: false)
21
21
  id = Middleware.id(@profile.file)
22
- AppProfiler.logger.info("[Profiler] Profile available at /app_profiler/#{id}\n")
22
+
23
+ if response && response[0].to_i < 500
24
+ response[1]["Location"] = "/app_profiler/#{id}"
25
+ response[0] = 303
26
+ else
27
+ AppProfiler.logger.info("[Profiler] Profile available at /app_profiler/#{id}\n")
28
+ end
23
29
  end
24
30
  end
25
31
  end
@@ -9,8 +9,8 @@ module AppProfiler
9
9
  include Yarn::WithSpeedscope
10
10
 
11
11
  class << self
12
- def view(profile)
13
- new(profile).view
12
+ def view(profile, params = {})
13
+ new(profile).view(**params)
14
14
  end
15
15
  end
16
16
 
@@ -19,7 +19,7 @@ module AppProfiler
19
19
  @profile = profile
20
20
  end
21
21
 
22
- def view
22
+ def view(_params = {})
23
23
  yarn("run", "speedscope", @profile.file.to_s)
24
24
  end
25
25
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: app_profiler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gannon McGibbon
@@ -13,7 +13,7 @@ authors:
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2023-11-06 00:00:00.000000000 Z
16
+ date: 2023-12-13 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: activesupport
@@ -175,7 +175,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
175
175
  - !ruby/object:Gem::Version
176
176
  version: '0'
177
177
  requirements: []
178
- rubygems_version: 3.4.21
178
+ rubygems_version: 3.4.22
179
179
  signing_key:
180
180
  specification_version: 4
181
181
  summary: Collect performance profiles for your Rails application.