cruft_tracker 0.2.0 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +41 -3
- data/app/controllers/cruft_tracker/methods_controller.rb +0 -2
- data/app/helpers/cruft_tracker/application_helper.rb +17 -15
- data/app/models/cruft_tracker/render_metadata.rb +1 -1
- data/app/models/cruft_tracker/view.rb +3 -1
- data/app/services/cruft_tracker/cleanup_untracked_views.rb +3 -3
- data/app/services/cruft_tracker/record_arguments.rb +15 -2
- data/app/services/cruft_tracker/record_backtrace.rb +15 -2
- data/app/services/cruft_tracker/record_render_metadata.rb +17 -3
- data/app/services/cruft_tracker/record_view_render.rb +22 -6
- data/app/services/cruft_tracker/track_method.rb +8 -6
- data/app/services/cruft_tracker/track_view.rb +14 -16
- data/config/routes.rb +1 -3
- data/lib/cruft_tracker/engine.rb +1 -5
- data/lib/cruft_tracker/version.rb +1 -1
- data/lib/cruft_tracker.rb +32 -8
- metadata +20 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f3460be9573ae2b54fe73ce702f82a7927f447e5495de026bfe4e5690111fe26
|
4
|
+
data.tar.gz: d26d664335c9da97deb9365e291a00ca4a3061e4e11717d2bfd1f70a862a53e6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3a24be83b7b4fef793b01ddd18868b4d161c321791c942b8bd0bf6358d545328d0edc8c8ebf9f8ce72f5bccff22e4733c09f02f145c0881aa02e15069ade13e8
|
7
|
+
data.tar.gz: 9c97c8ea00fa75bcff566ec04677ba811692c7ad70e763a513bc187f921216bf2cfc74baa73b26472ca611f45077bdd1e0f77bea60ff34a9903a2af25177e6d3
|
data/README.md
CHANGED
@@ -47,6 +47,16 @@ CruftTracker.init do
|
|
47
47
|
end
|
48
48
|
```
|
49
49
|
|
50
|
+
Note: you may need to wrap the `CruftTracker.init` call in `Rails.application.reloader.to_prepare` to prevent deprecation warnings related to autoloading constants during initialization. For example:
|
51
|
+
|
52
|
+
```ruby
|
53
|
+
Rails.application.reloader.to_prepare do
|
54
|
+
CruftTracker.init do
|
55
|
+
# your configuration.... (more on this below)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
```
|
59
|
+
|
50
60
|
### Tracking method invocations
|
51
61
|
|
52
62
|
CruftTracker is pretty simple. Let's say you have a class (or module) like this...
|
@@ -59,7 +69,7 @@ class SomeOldClass
|
|
59
69
|
end
|
60
70
|
```
|
61
71
|
|
62
|
-
You're unsure if the `some_old_method` method is actually being used. All you need to do is add an instance of the `is_this_method_used?
|
72
|
+
You're unsure if the `some_old_method` method is actually being used. All you need to do is add an instance of the `is_this_method_used? ` to the CruftTracker initializer. This method requires you to pass the class constant and a symbol to identify the name of the method to track. For example:
|
63
73
|
|
64
74
|
```ruby
|
65
75
|
# config/initializers/cruft_tracker.rb
|
@@ -355,7 +365,7 @@ Let's say you have this view and you're just not sure it's being used anymore:
|
|
355
365
|
<!-- app/views/something/some_view.html.erb -->
|
356
366
|
|
357
367
|
<div>
|
358
|
-
|
368
|
+
<%- if @data.present? %>
|
359
369
|
<strong>Woo hoo!</strong>
|
360
370
|
<% end %>
|
361
371
|
</div>
|
@@ -445,7 +455,7 @@ When the view is actually rendered, CruftTracker will collect information about
|
|
445
455
|
| ---- | ------- | -------------------------------- | -------------- | ------------ | ---------------------- | ------------ | ----------- | ------------------- | ------------------- |
|
446
456
|
| 1 | 1 | 98cc3bd79cf6f3606c5afe3b9faf925b | SomeController | do_something | /foo/:id/bar(.:format) | [{...}] | 1 | 2022-07-06 15:29:06 | 2022-07-06 15:29:06 |
|
447
457
|
|
448
|
-
This record is represented by the `CruftTracker::ViewRender`
|
458
|
+
This record is represented by the `CruftTracker::ViewRender` model and can be loaded in the usual ways. You can also access it from a specific view record. EG: `CruftTracker::View.find(1).view_renders`, which will return an association of unique renders.
|
449
459
|
|
450
460
|
There's a lot packed into that record. Let's disect it:
|
451
461
|
|
@@ -531,6 +541,34 @@ A word of caution: don't track ever variable. Variables are, by definition, vari
|
|
531
541
|
|
532
542
|
CruftTacker automatically cleans up after itself. ✨🧹 If you remove any configured tracking, CruftTracker will recognize this when your application starts up and mark the associated `cruft_tracker_methods` record as deleted.
|
533
543
|
|
544
|
+
## Configuration
|
545
|
+
|
546
|
+
Imagine a scenario where you have a method or view that is used in many places, or maybe as a result of metaprogramming. Perhaps you have some logic that is user-configurable and might lead to a tracked method being called with any number of backtraces. It's not super helpful to track all possible backtraces and it's actively bad, since it wastes space in your database and slows down queries. Besides, it's no fun drinking from the firehose.
|
547
|
+
|
548
|
+
CruftTracker provides a few configurable settings to control the amount of data recorded in some of its tables.
|
549
|
+
|
550
|
+
| Name | Default | Description |
|
551
|
+
| ------------------------------------------------ | ------- | ------------------------------------------------------------ |
|
552
|
+
| `max_argument_variations_per_tracked_method` | 50 | Sets the maximum number of distinct arguments that can be recorded for any tracked method. |
|
553
|
+
| `max_backtrace_variations_per_tracked_method` | 50 | Sets the maximum number of distinct backtraces that can be recorded for any tracked method. |
|
554
|
+
| `max_view_renders_per_view` | 50 | Sets the maximum number of distinct renders that can be recorded for any tracked view. |
|
555
|
+
| `max_render_metadata_variations_per_view_render` | 50 | Sets the maximum number of distinct render metadata records that can be recorded for any specific render of a view. |
|
556
|
+
|
557
|
+
These configuration values can be set within the CruftTracker initializer like this:
|
558
|
+
|
559
|
+
```ruby
|
560
|
+
# config/initializers/cruft_tracker.rb
|
561
|
+
|
562
|
+
CruftTracker.init do
|
563
|
+
config.max_argument_variations_per_tracked_method = 20
|
564
|
+
config.max_backtrace_variations_per_tracked_method = 25
|
565
|
+
config.max_view_renders_per_view = 30
|
566
|
+
config.max_render_metadata_variations_per_view_render = 35
|
567
|
+
|
568
|
+
# ... your configuration for tracking methods or views ...
|
569
|
+
end
|
570
|
+
```
|
571
|
+
|
534
572
|
## API Docs
|
535
573
|
|
536
574
|
### `CruftTracker` module methods
|
@@ -17,7 +17,7 @@ module CruftTracker
|
|
17
17
|
private
|
18
18
|
|
19
19
|
def cruft_tracker_view
|
20
|
-
path = render_stack.first[:path].gsub(
|
20
|
+
path = render_stack.first[:path].gsub(%r{#{Rails.root}/}, '')
|
21
21
|
view = CruftTracker::View.find_by(view: path)
|
22
22
|
|
23
23
|
return view if view.present?
|
@@ -26,9 +26,9 @@ module CruftTracker
|
|
26
26
|
end
|
27
27
|
|
28
28
|
def route_path
|
29
|
-
_routes
|
30
|
-
|
31
|
-
|
29
|
+
_routes
|
30
|
+
.router
|
31
|
+
.recognize(request) { |route, _| return route.path.spec.to_s }
|
32
32
|
|
33
33
|
nil
|
34
34
|
end
|
@@ -38,18 +38,20 @@ module CruftTracker
|
|
38
38
|
end
|
39
39
|
|
40
40
|
def render_stack
|
41
|
-
caller_locations
|
42
|
-
|
43
|
-
|
41
|
+
caller_locations
|
42
|
+
.select do |caller_location|
|
43
|
+
paths_to_views.any? do |path_for_view|
|
44
|
+
caller_location.path.match?(%r{^#{path_for_view}/})
|
45
|
+
end
|
46
|
+
end
|
47
|
+
.map do |location|
|
48
|
+
{
|
49
|
+
path: location.path,
|
50
|
+
label: location.label,
|
51
|
+
base_label: location.base_label,
|
52
|
+
lineno: location.lineno
|
53
|
+
}
|
44
54
|
end
|
45
|
-
end.map do |location|
|
46
|
-
{
|
47
|
-
path: location.path,
|
48
|
-
label: location.label,
|
49
|
-
base_label: location.base_label,
|
50
|
-
lineno: location.lineno
|
51
|
-
}
|
52
|
-
end
|
53
55
|
end
|
54
56
|
end
|
55
57
|
end
|
@@ -11,7 +11,9 @@ module CruftTracker
|
|
11
11
|
|
12
12
|
def still_tracked?
|
13
13
|
return true if CruftTracker::Registry.include?(self)
|
14
|
-
|
14
|
+
if File.read(absolute_path).match?(/record_cruft_tracker_view_render/)
|
15
|
+
return true
|
16
|
+
end
|
15
17
|
|
16
18
|
false
|
17
19
|
end
|
@@ -9,10 +9,10 @@ module CruftTracker
|
|
9
9
|
CruftTracker::View
|
10
10
|
.where(deleted_at: nil)
|
11
11
|
.each do |view|
|
12
|
-
|
13
|
-
|
12
|
+
unless view.still_exists? && view.still_tracked?
|
13
|
+
view.update(deleted_at: Time.current)
|
14
|
+
end
|
14
15
|
end
|
15
|
-
end
|
16
16
|
end
|
17
17
|
rescue StandardError
|
18
18
|
# I'm actively ignoring all errors. Chances are, these are due to something like running rake
|
@@ -9,6 +9,8 @@ module CruftTracker
|
|
9
9
|
private
|
10
10
|
|
11
11
|
def execute
|
12
|
+
return unless arguments_record.present?
|
13
|
+
|
12
14
|
CruftTracker::LogSuppressor.suppress_logging do
|
13
15
|
arguments_record.with_lock do
|
14
16
|
arguments_record.reload
|
@@ -22,13 +24,20 @@ module CruftTracker
|
|
22
24
|
def arguments_record
|
23
25
|
@arguments_record ||=
|
24
26
|
begin
|
27
|
+
arguments_record = CruftTracker::Argument.find_by(
|
28
|
+
method: method,
|
29
|
+
arguments_hash: arguments_hash
|
30
|
+
)
|
31
|
+
|
32
|
+
if arguments_record.present? || max_records_reached?
|
33
|
+
return arguments_record
|
34
|
+
end
|
35
|
+
|
25
36
|
CruftTracker::Argument.create(
|
26
37
|
method: method,
|
27
38
|
arguments_hash: arguments_hash,
|
28
39
|
arguments: transformed_arguments
|
29
40
|
)
|
30
|
-
rescue ActiveRecord::RecordNotUnique
|
31
|
-
CruftTracker::Argument.find_by(arguments_hash: arguments_hash)
|
32
41
|
end
|
33
42
|
end
|
34
43
|
|
@@ -39,5 +48,9 @@ module CruftTracker
|
|
39
48
|
def transformed_arguments
|
40
49
|
@transformed_arguments ||= transformer.call(arguments)
|
41
50
|
end
|
51
|
+
|
52
|
+
def max_records_reached?
|
53
|
+
CruftTracker::Argument.where(method: method).count >= CruftTracker.config.max_argument_variations_per_tracked_method
|
54
|
+
end
|
42
55
|
end
|
43
56
|
end
|
@@ -7,6 +7,8 @@ module CruftTracker
|
|
7
7
|
private
|
8
8
|
|
9
9
|
def execute
|
10
|
+
return unless backtrace_record.present?
|
11
|
+
|
10
12
|
CruftTracker::LogSuppressor.suppress_logging do
|
11
13
|
backtrace_record.with_lock do
|
12
14
|
backtrace_record.reload
|
@@ -20,13 +22,20 @@ module CruftTracker
|
|
20
22
|
def backtrace_record
|
21
23
|
@backtrace_record ||=
|
22
24
|
begin
|
25
|
+
backtrace_record = CruftTracker::Backtrace.find_by(
|
26
|
+
traceable: method,
|
27
|
+
trace_hash: backtrace_hash
|
28
|
+
)
|
29
|
+
|
30
|
+
if backtrace_record.present? || max_records_reached?
|
31
|
+
return backtrace_record
|
32
|
+
end
|
33
|
+
|
23
34
|
CruftTracker::Backtrace.create(
|
24
35
|
traceable: method,
|
25
36
|
trace_hash: backtrace_hash,
|
26
37
|
trace: filtered_backtrace
|
27
38
|
)
|
28
|
-
rescue ActiveRecord::RecordNotUnique
|
29
|
-
CruftTracker::Backtrace.find_by(trace_hash: backtrace_hash)
|
30
39
|
end
|
31
40
|
end
|
32
41
|
|
@@ -51,5 +60,9 @@ module CruftTracker
|
|
51
60
|
}
|
52
61
|
end
|
53
62
|
end
|
63
|
+
|
64
|
+
def max_records_reached?
|
65
|
+
CruftTracker::Backtrace.where(traceable: method).count >= CruftTracker.config.max_backtrace_variations_per_tracked_method
|
66
|
+
end
|
54
67
|
end
|
55
68
|
end
|
@@ -10,11 +10,14 @@ module CruftTracker
|
|
10
10
|
|
11
11
|
def execute
|
12
12
|
return unless metadata.present?
|
13
|
+
return unless render_metadata_record.present?
|
13
14
|
|
14
15
|
CruftTracker::LogSuppressor.suppress_logging do
|
15
16
|
render_metadata_record.with_lock do
|
16
17
|
render_metadata_record.reload
|
17
|
-
render_metadata_record.update(
|
18
|
+
render_metadata_record.update(
|
19
|
+
occurrences: render_metadata_record.occurrences + 1
|
20
|
+
)
|
18
21
|
end
|
19
22
|
end
|
20
23
|
end
|
@@ -22,18 +25,29 @@ module CruftTracker
|
|
22
25
|
def render_metadata_record
|
23
26
|
@render_metadata_record ||=
|
24
27
|
begin
|
28
|
+
render_metadata_record = CruftTracker::RenderMetadata.find_by(
|
29
|
+
view_render: view_render,
|
30
|
+
metadata_hash: metadata_hash
|
31
|
+
)
|
32
|
+
|
33
|
+
if render_metadata_record.present? || max_records_reached?
|
34
|
+
return render_metadata_record
|
35
|
+
end
|
36
|
+
|
25
37
|
CruftTracker::RenderMetadata.create(
|
26
38
|
view_render: view_render,
|
27
39
|
metadata_hash: metadata_hash,
|
28
40
|
metadata: metadata
|
29
41
|
)
|
30
|
-
rescue ActiveRecord::RecordNotUnique
|
31
|
-
CruftTracker::RenderMetadata.find_by(metadata_hash: metadata_hash)
|
32
42
|
end
|
33
43
|
end
|
34
44
|
|
35
45
|
def metadata_hash
|
36
46
|
Digest::MD5.hexdigest([view_render.render_hash, metadata].to_json)
|
37
47
|
end
|
48
|
+
|
49
|
+
def max_records_reached?
|
50
|
+
CruftTracker::RenderMetadata.where(view_render: view_render).count >= CruftTracker.config.max_render_metadata_variations_per_view_render
|
51
|
+
end
|
38
52
|
end
|
39
53
|
end
|
@@ -20,6 +20,8 @@ module CruftTracker
|
|
20
20
|
private
|
21
21
|
|
22
22
|
def execute
|
23
|
+
return unless view_render_record.present?
|
24
|
+
|
23
25
|
CruftTracker::LogSuppressor.suppress_logging do
|
24
26
|
view.with_lock do
|
25
27
|
view.reload
|
@@ -28,7 +30,9 @@ module CruftTracker
|
|
28
30
|
|
29
31
|
view_render_record.with_lock do
|
30
32
|
view_render_record.reload
|
31
|
-
view_render_record.update(
|
33
|
+
view_render_record.update(
|
34
|
+
occurrences: view_render_record.occurrences + 1
|
35
|
+
)
|
32
36
|
|
33
37
|
record_render_metadata(view_render_record)
|
34
38
|
|
@@ -38,14 +42,25 @@ module CruftTracker
|
|
38
42
|
end
|
39
43
|
|
40
44
|
def record_render_metadata(view_render_record)
|
41
|
-
compose(
|
42
|
-
|
43
|
-
|
45
|
+
compose(
|
46
|
+
CruftTracker::RecordRenderMetadata,
|
47
|
+
view_render: view_render_record,
|
48
|
+
metadata: metadata
|
49
|
+
)
|
44
50
|
end
|
45
51
|
|
46
52
|
def view_render_record
|
47
53
|
@view_render_record ||=
|
48
54
|
begin
|
55
|
+
view_render_record = CruftTracker::ViewRender.find_by(
|
56
|
+
view: view,
|
57
|
+
render_hash: render_hash
|
58
|
+
)
|
59
|
+
|
60
|
+
if view_render_record.present? || max_records_reached?
|
61
|
+
return view_render_record
|
62
|
+
end
|
63
|
+
|
49
64
|
CruftTracker::ViewRender.create(
|
50
65
|
view: view,
|
51
66
|
render_hash: render_hash,
|
@@ -55,8 +70,6 @@ module CruftTracker
|
|
55
70
|
http_method: http_method,
|
56
71
|
render_stack: render_stack
|
57
72
|
)
|
58
|
-
rescue ActiveRecord::RecordNotUnique
|
59
|
-
CruftTracker::ViewRender.find_by(render_hash: render_hash)
|
60
73
|
end
|
61
74
|
end
|
62
75
|
|
@@ -72,5 +85,8 @@ module CruftTracker
|
|
72
85
|
)
|
73
86
|
end
|
74
87
|
|
88
|
+
def max_records_reached?
|
89
|
+
CruftTracker::ViewRender.where(view: view).count >= CruftTracker.config.max_view_renders_per_view
|
90
|
+
end
|
75
91
|
end
|
76
92
|
end
|
@@ -77,17 +77,19 @@ module CruftTracker
|
|
77
77
|
end
|
78
78
|
|
79
79
|
def create_or_find_method_record
|
80
|
-
CruftTracker::Method.
|
80
|
+
method_record = CruftTracker::Method.find_by(
|
81
81
|
owner: owner.name,
|
82
82
|
name: name,
|
83
|
-
method_type: method_type
|
84
|
-
comment: comment
|
83
|
+
method_type: method_type
|
85
84
|
)
|
86
|
-
|
87
|
-
|
85
|
+
|
86
|
+
return method_record if method_record.present?
|
87
|
+
|
88
|
+
CruftTracker::Method.create(
|
88
89
|
owner: owner.name,
|
89
90
|
name: name,
|
90
|
-
method_type: method_type
|
91
|
+
method_type: method_type,
|
92
|
+
comment: comment
|
91
93
|
)
|
92
94
|
end
|
93
95
|
|
@@ -9,13 +9,14 @@ module CruftTracker
|
|
9
9
|
interface :comment, methods: %i[to_json], default: nil
|
10
10
|
|
11
11
|
def execute
|
12
|
-
view_record =
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
12
|
+
view_record =
|
13
|
+
CruftTracker::LogSuppressor.suppress_logging do
|
14
|
+
view_record = create_or_find_view_record
|
15
|
+
view_record.deleted_at = nil
|
16
|
+
view_record.comment = comment if comment != view_record.comment
|
17
|
+
view_record.save
|
18
|
+
view_record
|
19
|
+
end
|
19
20
|
|
20
21
|
listen_for_render(view_record)
|
21
22
|
|
@@ -33,7 +34,7 @@ module CruftTracker
|
|
33
34
|
'CruftTracker was unable to record a view. Have migrations been run?'
|
34
35
|
)
|
35
36
|
rescue Mysql2::Error::ConnectionError,
|
36
|
-
|
37
|
+
ActiveRecord::ConnectionNotEstablished
|
37
38
|
Rails.logger.warn(
|
38
39
|
'CruftTracker was unable to record a view due to being unable to connect to the database. This may be a non-issue in cases where the database is intentionally not available.'
|
39
40
|
)
|
@@ -51,14 +52,11 @@ module CruftTracker
|
|
51
52
|
end
|
52
53
|
|
53
54
|
def create_or_find_view_record
|
54
|
-
CruftTracker::View.
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
CruftTracker::View.find_by(
|
60
|
-
view: view
|
61
|
-
)
|
55
|
+
view_record = CruftTracker::View.find_by(view: view)
|
56
|
+
|
57
|
+
return view_record if view_record.present?
|
58
|
+
|
59
|
+
CruftTracker::View.create(view: view, comment: comment)
|
62
60
|
end
|
63
61
|
end
|
64
62
|
end
|
data/config/routes.rb
CHANGED
data/lib/cruft_tracker/engine.rb
CHANGED
@@ -3,17 +3,13 @@ module CruftTracker
|
|
3
3
|
isolate_namespace CruftTracker
|
4
4
|
|
5
5
|
config.after_initialize do
|
6
|
+
ActionController::Base.helper CruftTracker::ApplicationHelper
|
6
7
|
CruftTracker::CleanupUntrackedMethods.run!
|
7
8
|
CruftTracker::CleanupUntrackedViews.run!
|
8
9
|
rescue StandardError
|
9
10
|
# Swallow all errors to prevent initialization failures.
|
10
11
|
end
|
11
12
|
|
12
|
-
initializer 'local_helper.action_controller' do
|
13
|
-
ActiveSupport.on_load :action_controller do
|
14
|
-
helper CruftTracker::ApplicationHelper
|
15
|
-
end
|
16
|
-
end
|
17
13
|
|
18
14
|
end
|
19
15
|
end
|
data/lib/cruft_tracker.rb
CHANGED
@@ -4,18 +4,18 @@ require 'cruft_tracker/registry'
|
|
4
4
|
require 'cruft_tracker/log_suppressor'
|
5
5
|
|
6
6
|
module CruftTracker
|
7
|
+
class << self
|
8
|
+
attr_accessor :config
|
9
|
+
end
|
10
|
+
|
7
11
|
def self.init(&block)
|
12
|
+
self.config = Config.instance
|
13
|
+
|
8
14
|
self.instance_eval(&block)
|
9
15
|
end
|
10
16
|
|
11
|
-
def self.is_this_view_used?(
|
12
|
-
view,
|
13
|
-
comment: nil
|
14
|
-
)
|
15
|
-
CruftTracker::TrackView.run!(
|
16
|
-
view: view,
|
17
|
-
comment: comment
|
18
|
-
)
|
17
|
+
def self.is_this_view_used?(view, comment: nil)
|
18
|
+
CruftTracker::TrackView.run!(view: view, comment: comment)
|
19
19
|
end
|
20
20
|
|
21
21
|
def self.is_this_method_used?(
|
@@ -37,4 +37,28 @@ module CruftTracker
|
|
37
37
|
def self.are_any_of_these_methods_being_used?(owner, comment: nil)
|
38
38
|
CruftTracker::TrackAllMethods.run!(owner: owner, comment: comment)
|
39
39
|
end
|
40
|
+
|
41
|
+
class Config
|
42
|
+
include Singleton
|
43
|
+
|
44
|
+
DEFAULT_MAX_ARGUMENTS_VARIATIONS_PER_TRACKED_METHOD = 50
|
45
|
+
DEFAULT_MAX_BACKTRACE_VARIATIONS_PER_TRACKED_METHOD = 50
|
46
|
+
DEFAULT_MAX_VIEW_RENDERS_PER_VIEW = 50
|
47
|
+
DEFAULT_MAX_RENDER_METADATA_VARIATIONS_PER_VIEW_RENDER = 50
|
48
|
+
|
49
|
+
attr_accessor :max_argument_variations_per_tracked_method,
|
50
|
+
:max_backtrace_variations_per_tracked_method,
|
51
|
+
:max_view_renders_per_view,
|
52
|
+
:max_render_metadata_variations_per_view_render
|
53
|
+
|
54
|
+
def initialize
|
55
|
+
@max_argument_variations_per_tracked_method =
|
56
|
+
DEFAULT_MAX_ARGUMENTS_VARIATIONS_PER_TRACKED_METHOD
|
57
|
+
@max_backtrace_variations_per_tracked_method =
|
58
|
+
DEFAULT_MAX_BACKTRACE_VARIATIONS_PER_TRACKED_METHOD
|
59
|
+
@max_view_renders_per_view = DEFAULT_MAX_VIEW_RENDERS_PER_VIEW
|
60
|
+
@max_render_metadata_variations_per_view_render =
|
61
|
+
DEFAULT_MAX_RENDER_METADATA_VARIATIONS_PER_VIEW_RENDER
|
62
|
+
end
|
63
|
+
end
|
40
64
|
end
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cruft_tracker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adwerx Inc.
|
8
8
|
- Doug Hughes
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2022-
|
12
|
+
date: 2022-08-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: active_interaction
|
@@ -235,6 +235,20 @@ dependencies:
|
|
235
235
|
- - "~>"
|
236
236
|
- !ruby/object:Gem::Version
|
237
237
|
version: 2.5.0
|
238
|
+
- !ruby/object:Gem::Dependency
|
239
|
+
name: prettier
|
240
|
+
requirement: !ruby/object:Gem::Requirement
|
241
|
+
requirements:
|
242
|
+
- - ">="
|
243
|
+
- !ruby/object:Gem::Version
|
244
|
+
version: '0'
|
245
|
+
type: :development
|
246
|
+
prerelease: false
|
247
|
+
version_requirements: !ruby/object:Gem::Requirement
|
248
|
+
requirements:
|
249
|
+
- - ">="
|
250
|
+
- !ruby/object:Gem::Version
|
251
|
+
version: '0'
|
238
252
|
description: |
|
239
253
|
Have you ever asked yourself, "Is this method even being used?!" Or, "What the heck is this method receiving?" Does your application use Rails? If the answers these questions are yes, this gem may be of use to you!
|
240
254
|
|
@@ -299,7 +313,7 @@ licenses:
|
|
299
313
|
metadata:
|
300
314
|
homepage_uri: https://github.com/AdWerx/cruft-tracker
|
301
315
|
source_code_uri: https://github.com/AdWerx/cruft-tracker
|
302
|
-
post_install_message:
|
316
|
+
post_install_message:
|
303
317
|
rdoc_options: []
|
304
318
|
require_paths:
|
305
319
|
- lib
|
@@ -314,8 +328,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
314
328
|
- !ruby/object:Gem::Version
|
315
329
|
version: '0'
|
316
330
|
requirements: []
|
317
|
-
rubygems_version: 3.
|
318
|
-
signing_key:
|
331
|
+
rubygems_version: 3.3.17
|
332
|
+
signing_key:
|
319
333
|
specification_version: 4
|
320
334
|
summary: Provides a system to track Ruby method usage somewhat unobtrusively.
|
321
335
|
test_files: []
|