coverband 6.1.5 → 6.1.6

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: 975365fa04dde3dda04ba2ce23934907d8282214dffac3772ce79516fdaaec12
4
- data.tar.gz: 9bf44550712764df06f191f2c8d4cb99d01d1c1084d9ca730cf52fcd6e5103e3
3
+ metadata.gz: 032cf0d003aefa2d222472e12412e352f5059cfffc93645810692e60b3dc6602
4
+ data.tar.gz: b094364d6cc2dbfbc2527209f4bf03025c06199443a0b9fa0380851afe7a00ae
5
5
  SHA512:
6
- metadata.gz: e951529d4bf603e2ec218e2ad175a9288dcd0e18bca0d225ce569185d12f984f7c5d79dd78650d9b2c3dda60f720751387b712f06a2963280e9863ea1083114f
7
- data.tar.gz: 500ae4d38825b881d38c3d1e23d520ec736f4773affe4bc8f7b309d088efaacc284a1b19e4035ec4ee37f4ac8f7d76030c63fbc29798cfb34082986eef8ee62d
6
+ metadata.gz: 14ce46ede0f55f2162878529c8226a022518df0a0a22c83ad323d0856fad43b99a9f694b3b629171b86872bfd16626da9772388cae5a665a5e00e1493ef81b8b
7
+ data.tar.gz: c394482fdfddfa2d70dab2453517f2c490e66e1b9ef463a5a097413deb41540158a13a0626a2f3c4e62fc263de3052df6d99c7c7765ddb9ae867074b5b943e94
data/changes.md CHANGED
@@ -1,3 +1,8 @@
1
+ ### Coverband 6.1.6
2
+
3
+ * Check for Rails::Engine - Stephen Wetzel
4
+ * Support views located in components directory, as well as sub-directories like packs/app/views - Derek Kniffin
5
+
1
6
  ### Coverband 6.1.5
2
7
 
3
8
  * add testing for ruby-head
@@ -205,9 +205,7 @@ module Coverband
205
205
 
206
206
  data = coverage_data_from_redis(data_from_redis)
207
207
  timedata = coverage_time_data_from_redis(data_from_redis)
208
- hash[file] = data_from_redis.select do |meta_data_key, _value|
209
- META_DATA_KEYS.include?(meta_data_key)
210
- end.merge!("data" => data, "timedata" => timedata)
208
+ hash[file] = data_from_redis.slice(*META_DATA_KEYS).merge!("data" => data, "timedata" => timedata)
211
209
  hash[file][LAST_UPDATED_KEY] =
212
210
  (hash[file][LAST_UPDATED_KEY].nil? || hash[file][LAST_UPDATED_KEY] == "") ? nil : hash[file][LAST_UPDATED_KEY].to_i
213
211
  hash[file].merge!(LAST_UPDATED_KEY => hash[file][LAST_UPDATED_KEY],
@@ -108,7 +108,7 @@ module Coverband
108
108
 
109
109
  def concrete_target
110
110
  if defined?(Rails.application)
111
- Dir.glob("#{@project_directory}/app/views/**/*.html.{erb,haml,slim}")
111
+ Dir.glob("#{@project_directory}/**/app/{views,components}/**/*.html.{erb,haml,slim}")
112
112
  else
113
113
  []
114
114
  end
@@ -7,7 +7,7 @@ module Coverband
7
7
  super
8
8
  end
9
9
  end
10
- Rails::Engine.prepend(RailsEagerLoad)
10
+ Rails::Engine.prepend(RailsEagerLoad) if defined? ::Rails::Engine
11
11
 
12
12
  class Railtie < Rails::Railtie
13
13
  initializer "coverband.configure" do |app|
@@ -5,5 +5,5 @@
5
5
  # use format "4.2.1.rc.1" ~> 4.2.1.rc to prerelease versions like v4.2.1.rc.2 and v4.2.1.rc.3
6
6
  ###
7
7
  module Coverband
8
- VERSION = "6.1.5"
8
+ VERSION = "6.1.6"
9
9
  end
data/lib/coverband.rb CHANGED
@@ -107,16 +107,16 @@ module Coverband
107
107
  # @raise [ArgumentError] If the tracker_type is not supported
108
108
  def self.track_key(tracker_type, key)
109
109
  return false unless key
110
-
110
+
111
111
  supported_trackers = [:view_tracker, :translations_tracker, :routes_tracker]
112
-
112
+
113
113
  unless supported_trackers.include?(tracker_type)
114
- raise ArgumentError, "Unsupported tracker type: #{tracker_type}. Must be one of: #{supported_trackers.join(', ')}"
114
+ raise ArgumentError, "Unsupported tracker type: #{tracker_type}. Must be one of: #{supported_trackers.join(", ")}"
115
115
  end
116
-
116
+
117
117
  begin
118
118
  tracker = configuration.send(tracker_type)
119
- return false unless tracker && tracker.respond_to?(:track_key)
119
+ return false unless tracker&.respond_to?(:track_key)
120
120
 
121
121
  tracker.track_key(key)
122
122
  true
@@ -102,7 +102,7 @@ namespace :benchmarks do
102
102
  lines = 45
103
103
  non_nil_lines = 18
104
104
  lines.times.map do |line|
105
- coverage = (line < non_nil_lines) ? rand(5) : nil
105
+ (line < non_nil_lines) ? rand(5) : nil
106
106
  end
107
107
  end
108
108
 
@@ -146,7 +146,7 @@ namespace :benchmarks do
146
146
  x.report("store_reports_all") { store.save_report(report) }
147
147
  end
148
148
  keys_subset = report.keys.first(100)
149
- report_subset = report.select { |key, _value| keys_subset.include?(key) }
149
+ report_subset = report.slice(*keys_subset)
150
150
  Benchmark.ips do |x|
151
151
  x.config(time: 20, warmup: 5)
152
152
  x.report("store_reports_subset") { store.save_report(report_subset) }
@@ -183,7 +183,7 @@ namespace :benchmarks do
183
183
 
184
184
  def measure_memory_report_coverage
185
185
  require "memory_profiler"
186
- report = fake_report
186
+ fake_report
187
187
  store = benchmark_redis_store
188
188
  store.clear!
189
189
  mock_files(store)
@@ -258,37 +258,29 @@ namespace :benchmarks do
258
258
  # about 2mb
259
259
  puts(ObjectSpace.memsize_of(data) / 2**20)
260
260
 
261
- json_data = JSON.parse(data)
261
+ JSON.parse(data)
262
262
  # this seems to just show the value of the pointer
263
263
  # puts(ObjectSpace.memsize_of(json_data) / 2**20)
264
264
  # implies json takes 10-12 mb
265
265
  puts(ObjectSpace.memsize_of_all / 2**20)
266
-
267
- json_data = nil
268
266
  GC.start
269
- json_data = JSON.parse(data)
267
+ JSON.parse(data)
270
268
  # this seems to just show the value of the pointer
271
269
  # puts(ObjectSpace.memsize_of(json_data) / 2**20)
272
270
  # implies json takes 10-12 mb
273
271
  puts(ObjectSpace.memsize_of_all / 2**20)
274
-
275
- json_data = nil
276
272
  GC.start
277
- json_data = JSON.parse(data)
273
+ JSON.parse(data)
278
274
  # this seems to just show the value of the pointer
279
275
  # puts(ObjectSpace.memsize_of(json_data) / 2**20)
280
276
  # implies json takes 10-12 mb
281
277
  puts(ObjectSpace.memsize_of_all / 2**20)
282
-
283
- json_data = nil
284
278
  GC.start
285
- json_data = JSON.parse(data)
279
+ JSON.parse(data)
286
280
  # this seems to just show the value of the pointer
287
281
  # puts(ObjectSpace.memsize_of(json_data) / 2**20)
288
282
  # implies json takes 10-12 mb
289
283
  puts(ObjectSpace.memsize_of_all / 2**20)
290
-
291
- json_data = nil
292
284
  GC.start
293
285
  puts(ObjectSpace.memsize_of_all / 2**20)
294
286
 
@@ -7,7 +7,7 @@ class TrackKeyTest < Minitest::Test
7
7
  mock_view_tracker = mock
8
8
  mock_view_tracker.expects(:track_key).with("view/path/index.html.erb").returns(true)
9
9
  Coverband.configuration.expects(:view_tracker).returns(mock_view_tracker)
10
-
10
+
11
11
  assert Coverband.track_key(:view_tracker, "view/path/index.html.erb")
12
12
  end
13
13
 
@@ -23,7 +23,7 @@ class TrackKeyTest < Minitest::Test
23
23
 
24
24
  test "track_key handles missing trackers" do
25
25
  Coverband.configuration.expects(:view_tracker).returns(nil)
26
-
26
+
27
27
  assert_equal false, Coverband.track_key(:view_tracker, "some_view")
28
28
  end
29
29
 
@@ -31,7 +31,7 @@ class TrackKeyTest < Minitest::Test
31
31
  mock_invalid_tracker = mock
32
32
  mock_invalid_tracker.expects(:respond_to?).with(:track_key).returns(false)
33
33
  Coverband.configuration.expects(:view_tracker).returns(mock_invalid_tracker)
34
-
34
+
35
35
  assert_equal false, Coverband.track_key(:view_tracker, "some_view")
36
36
  end
37
37
 
@@ -39,7 +39,7 @@ class TrackKeyTest < Minitest::Test
39
39
  mock_translations_tracker = mock
40
40
  mock_translations_tracker.expects(:track_key).with("translation.key").returns(true)
41
41
  Coverband.configuration.expects(:translations_tracker).returns(mock_translations_tracker)
42
-
42
+
43
43
  assert Coverband.track_key(:translations_tracker, "translation.key")
44
44
  end
45
45
 
@@ -47,20 +47,20 @@ class TrackKeyTest < Minitest::Test
47
47
  mock_routes_tracker = mock
48
48
  mock_routes_tracker.expects(:track_key).with("index#show").returns(true)
49
49
  Coverband.configuration.expects(:routes_tracker).returns(mock_routes_tracker)
50
-
50
+
51
51
  assert Coverband.track_key(:routes_tracker, "index#show")
52
52
  end
53
53
 
54
54
  test "track_key logs error when tracking fails" do
55
55
  mock_logger = mock
56
56
  mock_logger.expects(:error).with(regexp_matches(/Failed to track key/))
57
-
57
+
58
58
  mock_tracker = mock
59
59
  mock_tracker.expects(:track_key).with("test_key").raises(StandardError.new("Test error"))
60
-
60
+
61
61
  Coverband.configuration.expects(:translations_tracker).returns(mock_tracker)
62
62
  Coverband.configuration.expects(:logger).returns(mock_logger)
63
-
63
+
64
64
  assert_equal false, Coverband.track_key(:translations_tracker, "test_key")
65
65
  end
66
- end
66
+ end
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coverband
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.1.5
4
+ version: 6.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dan Mayer
8
8
  - Karl Baum
9
- autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2025-04-10 00:00:00.000000000 Z
11
+ date: 1980-01-02 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: benchmark-ips
@@ -517,7 +516,6 @@ metadata:
517
516
  documentation_uri: https://github.com/danmayer/coverband
518
517
  changelog_uri: https://github.com/danmayer/coverband/blob/main/changes.md
519
518
  source_code_uri: https://github.com/danmayer/coverband
520
- post_install_message:
521
519
  rdoc_options: []
522
520
  require_paths:
523
521
  - lib
@@ -532,8 +530,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
532
530
  - !ruby/object:Gem::Version
533
531
  version: '0'
534
532
  requirements: []
535
- rubygems_version: 3.4.10
536
- signing_key:
533
+ rubygems_version: 3.6.9
537
534
  specification_version: 4
538
535
  summary: Rack middleware to measure production code usage (LOC runtime usage)
539
536
  test_files: []