cruft_tracker 0.2.2 → 0.2.3

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: 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: []