cruft_tracker 0.2.1 → 0.2.4

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: c9a8291697321237133216a66cb9d58b1e526fe537dddd05644c1fafeaaafb36
4
- data.tar.gz: 4ff9fe36c9efd852b03dfc45b7511a74f08f6d92687582ca1316dd8a992031e2
3
+ metadata.gz: a82b0ad009d2cde41d3b6ed06e4e7446fdbdf4a6859320c31e3088e6ef407f86
4
+ data.tar.gz: 73bac370ea7ba50131e1229dbe08dcec1ad3bbce250eaeb3cf0aeb143157f4ab
5
5
  SHA512:
6
- metadata.gz: 7151e6f098431af83070f860877bf3a7e7446b3b13ba0116c56cf5b6b77bf023282c602bf78e1cca181e5cef25ac3e27fac6b2a95ca45d9c1e69b01652efea5b
7
- data.tar.gz: bebf3b0e9acbaaf3f4b60753903f48cd548b9e935061c6a28333e8b53eaff8f2099e0d5ff34234864c257c7110b8ce6a7ad75d3e0cae84bd23e264118ee652d8
6
+ metadata.gz: 03fb7812e4214f3a99b722236e1709af842a9633e33497366dc47f106e63b1c7c577614fc105b180ecd172b26e1f74cd5109cf9185338cd4c14d9be8b7754af2
7
+ data.tar.gz: 4b7f5bd324d2e5b51a03ac50f2c046f9c3480b8f2edcbd4be8b02c551c51086f58d05c36abc35cd0cda93a78b17f6c4a63b4b891ec690054740b0876500b3732
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...
@@ -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
- <%- if @data.present? %>
368
+ <%- if @data.present? %>
359
369
  <strong>Woo hoo!</strong>
360
370
  <% end %>
361
371
  </div>
@@ -9,9 +9,9 @@ module CruftTracker
9
9
  private
10
10
 
11
11
  def execute
12
- return unless arguments_record.present?
13
-
14
12
  CruftTracker::LogSuppressor.suppress_logging do
13
+ return unless arguments_record.present?
14
+
15
15
  arguments_record.with_lock do
16
16
  arguments_record.reload
17
17
  arguments_record.update(occurrences: arguments_record.occurrences + 1)
@@ -24,22 +24,23 @@ module CruftTracker
24
24
  def arguments_record
25
25
  @arguments_record ||=
26
26
  begin
27
- return find_existing_arguments_record if max_records_reached?
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
28
35
 
29
36
  CruftTracker::Argument.create(
30
37
  method: method,
31
38
  arguments_hash: arguments_hash,
32
39
  arguments: transformed_arguments
33
40
  )
34
- rescue ActiveRecord::RecordNotUnique
35
- find_existing_arguments_record
36
41
  end
37
42
  end
38
43
 
39
- def find_existing_arguments_record
40
- CruftTracker::Argument.find_by(arguments_hash: arguments_hash)
41
- end
42
-
43
44
  def arguments_hash
44
45
  Digest::MD5.hexdigest(transformed_arguments.to_json)
45
46
  end
@@ -7,9 +7,9 @@ module CruftTracker
7
7
  private
8
8
 
9
9
  def execute
10
- return unless backtrace_record.present?
11
-
12
10
  CruftTracker::LogSuppressor.suppress_logging do
11
+ return unless backtrace_record.present?
12
+
13
13
  backtrace_record.with_lock do
14
14
  backtrace_record.reload
15
15
  backtrace_record.update(occurrences: backtrace_record.occurrences + 1)
@@ -22,22 +22,23 @@ module CruftTracker
22
22
  def backtrace_record
23
23
  @backtrace_record ||=
24
24
  begin
25
- return find_existing_backtrace_record if max_records_reached?
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
26
33
 
27
34
  CruftTracker::Backtrace.create(
28
35
  traceable: method,
29
36
  trace_hash: backtrace_hash,
30
37
  trace: filtered_backtrace
31
38
  )
32
- rescue ActiveRecord::RecordNotUnique
33
- find_existing_backtrace_record
34
39
  end
35
40
  end
36
41
 
37
- def find_existing_backtrace_record
38
- CruftTracker::Backtrace.find_by(trace_hash: backtrace_hash)
39
- end
40
-
41
42
  def backtrace_hash
42
43
  Digest::MD5.hexdigest(filtered_backtrace.to_json)
43
44
  end
@@ -10,9 +10,10 @@ module CruftTracker
10
10
 
11
11
  def execute
12
12
  return unless metadata.present?
13
- return unless render_metadata_record.present?
14
13
 
15
14
  CruftTracker::LogSuppressor.suppress_logging do
15
+ return unless render_metadata_record.present?
16
+
16
17
  render_metadata_record.with_lock do
17
18
  render_metadata_record.reload
18
19
  render_metadata_record.update(
@@ -25,22 +26,23 @@ module CruftTracker
25
26
  def render_metadata_record
26
27
  @render_metadata_record ||=
27
28
  begin
28
- return find_existing_render_metadata_record if max_records_reached?
29
+ render_metadata_record = CruftTracker::RenderMetadata.find_by(
30
+ view_render: view_render,
31
+ metadata_hash: metadata_hash
32
+ )
33
+
34
+ if render_metadata_record.present? || max_records_reached?
35
+ return render_metadata_record
36
+ end
29
37
 
30
38
  CruftTracker::RenderMetadata.create(
31
39
  view_render: view_render,
32
40
  metadata_hash: metadata_hash,
33
41
  metadata: metadata
34
42
  )
35
- rescue ActiveRecord::RecordNotUnique
36
- find_existing_render_metadata_record
37
43
  end
38
44
  end
39
45
 
40
- def find_existing_render_metadata_record
41
- CruftTracker::RenderMetadata.find_by(metadata_hash: metadata_hash)
42
- end
43
-
44
46
  def metadata_hash
45
47
  Digest::MD5.hexdigest([view_render.render_hash, metadata].to_json)
46
48
  end
@@ -20,9 +20,9 @@ module CruftTracker
20
20
  private
21
21
 
22
22
  def execute
23
- return unless view_render_record.present?
24
-
25
23
  CruftTracker::LogSuppressor.suppress_logging do
24
+ return unless view_render_record.present?
25
+
26
26
  view.with_lock do
27
27
  view.reload
28
28
  view.update(renders: view.renders + 1)
@@ -52,7 +52,14 @@ module CruftTracker
52
52
  def view_render_record
53
53
  @view_render_record ||=
54
54
  begin
55
- return find_existing_view_render_record if max_records_reached?
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
56
63
 
57
64
  CruftTracker::ViewRender.create(
58
65
  view: view,
@@ -63,15 +70,9 @@ module CruftTracker
63
70
  http_method: http_method,
64
71
  render_stack: render_stack
65
72
  )
66
- rescue ActiveRecord::RecordNotUnique
67
- find_existing_view_render_record
68
73
  end
69
74
  end
70
75
 
71
- def find_existing_view_render_record
72
- CruftTracker::ViewRender.find_by(render_hash: render_hash)
73
- end
74
-
75
76
  def render_hash
76
77
  Digest::MD5.hexdigest(
77
78
  {
@@ -77,17 +77,19 @@ module CruftTracker
77
77
  end
78
78
 
79
79
  def create_or_find_method_record
80
- CruftTracker::Method.create(
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
- rescue ActiveRecord::RecordNotUnique
87
- CruftTracker::Method.find_by(
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
 
@@ -52,9 +52,11 @@ module CruftTracker
52
52
  end
53
53
 
54
54
  def create_or_find_view_record
55
+ view_record = CruftTracker::View.find_by(view: view)
56
+
57
+ return view_record if view_record.present?
58
+
55
59
  CruftTracker::View.create(view: view, comment: comment)
56
- rescue ActiveRecord::RecordNotUnique
57
- CruftTracker::View.find_by(view: view)
58
60
  end
59
61
  end
60
62
  end
@@ -3,16 +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
13
+
17
14
  end
18
15
  end
@@ -1,3 +1,3 @@
1
1
  module CruftTracker
2
- VERSION = '0.2.1'
2
+ VERSION = '0.2.4'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cruft_tracker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adwerx Inc.
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2022-07-07 00:00:00.000000000 Z
12
+ date: 2022-08-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: active_interaction