cruft_tracker 0.2.2 → 0.2.3

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: e11661e18988d5a678417bb2295abf479c7eecd17644ab9e3fa3386188e6a25a
4
- data.tar.gz: 104b7dc62a4590837655618f9eb82786f609e7a0b5733b629afc85628088ea9b
3
+ metadata.gz: f3460be9573ae2b54fe73ce702f82a7927f447e5495de026bfe4e5690111fe26
4
+ data.tar.gz: d26d664335c9da97deb9365e291a00ca4a3061e4e11717d2bfd1f70a862a53e6
5
5
  SHA512:
6
- metadata.gz: 635d585bc91bc042b6713f40e2da1c782d4e42664c5a69e3b6377089f38cf5bb91744a6f202ff9ef61020d2ce6170b507644d5ec45908ee88b682f685f8a7fa0
7
- data.tar.gz: ec22b4e3e545e2adec8094f4a5e6b46156d9d2cf35d0ef3f20f61c347f50e7c2160b98767fd8a1943ba366df13d0459de8391bbfa34f78e2dfa0f79e99d04904
6
+ metadata.gz: 3a24be83b7b4fef793b01ddd18868b4d161c321791c942b8bd0bf6358d545328d0edc8c8ebf9f8ce72f5bccff22e4733c09f02f145c0881aa02e15069ade13e8
7
+ data.tar.gz: 9c97c8ea00fa75bcff566ec04677ba811692c7ad70e763a513bc187f921216bf2cfc74baa73b26472ca611f45077bdd1e0f77bea60ff34a9903a2af25177e6d3
@@ -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
@@ -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
@@ -25,22 +25,23 @@ module CruftTracker
25
25
  def render_metadata_record
26
26
  @render_metadata_record ||=
27
27
  begin
28
- return find_existing_render_metadata_record if max_records_reached?
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
29
36
 
30
37
  CruftTracker::RenderMetadata.create(
31
38
  view_render: view_render,
32
39
  metadata_hash: metadata_hash,
33
40
  metadata: metadata
34
41
  )
35
- rescue ActiveRecord::RecordNotUnique
36
- find_existing_render_metadata_record
37
42
  end
38
43
  end
39
44
 
40
- def find_existing_render_metadata_record
41
- CruftTracker::RenderMetadata.find_by(metadata_hash: metadata_hash)
42
- end
43
-
44
45
  def metadata_hash
45
46
  Digest::MD5.hexdigest([view_render.render_hash, metadata].to_json)
46
47
  end
@@ -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
@@ -1,3 +1,3 @@
1
1
  module CruftTracker
2
- VERSION = '0.2.2'
2
+ VERSION = '0.2.3'
3
3
  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.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-07-25 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
@@ -313,7 +313,7 @@ licenses:
313
313
  metadata:
314
314
  homepage_uri: https://github.com/AdWerx/cruft-tracker
315
315
  source_code_uri: https://github.com/AdWerx/cruft-tracker
316
- post_install_message:
316
+ post_install_message:
317
317
  rdoc_options: []
318
318
  require_paths:
319
319
  - lib
@@ -328,8 +328,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
328
328
  - !ruby/object:Gem::Version
329
329
  version: '0'
330
330
  requirements: []
331
- rubygems_version: 3.1.6
332
- signing_key:
331
+ rubygems_version: 3.3.17
332
+ signing_key:
333
333
  specification_version: 4
334
334
  summary: Provides a system to track Ruby method usage somewhat unobtrusively.
335
335
  test_files: []