coverband 6.1.3 → 6.1.4

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: 6190be3d23adde604c28f1450cc2b89591fc3ef96047595e449a13ed5d7faf90
4
- data.tar.gz: bd7d353847111e14bdb4ef0970bfea22e1feefc268bbb3349b1447918022fd28
3
+ metadata.gz: a3ffdf0c9a4cefbcbc728967f36ed20a90755074864a2fe858859b739e6912bb
4
+ data.tar.gz: e853e687820d45bbf414f51efd3a51f996b05f5eff0dcecac95351b076b3300d
5
5
  SHA512:
6
- metadata.gz: ad51883929ced53534259cab4192f7b6aadf141e64219daf6bf0387b9e76b2530fd4ab04fb6739344723f659ba3eb7d51e21da683f529d51907bedf09720f2ca
7
- data.tar.gz: 152e98163c8c6083b3902318c1485cc3c3d88201332b032ba13a8039da96a751f06efa6a53e90a0733feea3c7e27e0159aa576c259525856ef089420af841623
6
+ metadata.gz: 3f2f69c9de574808771f002af9fc4903fed8ec9af0d52288457759ff21b1c8a3c0e42111a6ea59c8830893fc57acf05e300f8520903dda920a894419710ad386
7
+ data.tar.gz: 20073041f076062cefeeeb8bcec74d703086d70c86c6f7b0b2511474f5c0cd2b9cb61510245cca49104dff53a8979249a2b4dae2bfad85b09682c9dd56ce5628
data/README.md CHANGED
@@ -307,6 +307,11 @@ Now that Coverband uses MD5 hashes there should be no reason to manually clear c
307
307
 
308
308
  This can also be done through the web if `config.web_enable_clear` is enabled.
309
309
 
310
+ **NOTE**: The previous task does not clear the trackers data (views, routes, translations, etc).
311
+ To clear trackers data, run
312
+
313
+ `rake coverband:clear_tracker`
314
+
310
315
  ### Adding Rake Tasks outside of Rails
311
316
 
312
317
  Rails apps should automatically include the tasks via the Railtie.
data/changes.md CHANGED
@@ -1,3 +1,8 @@
1
+ ### Coverband 6.1.4
2
+
3
+ * fix on ignoring to many view files thx @fatkodima
4
+ * improve docs on clear
5
+
1
6
  ### Coverband 6.1.3
2
7
 
3
8
  * memory optimizations thx @fatkodima
@@ -17,6 +17,7 @@ module Coverband
17
17
 
18
18
  REPORT_ROUTE = "views_tracker"
19
19
  TITLE = "Views"
20
+ VIEWS_PATTERNS = %w[.erb$ .haml$ .slim$]
20
21
 
21
22
  def initialize(options = {})
22
23
  @project_directory = File.expand_path(Coverband.configuration.root)
@@ -24,6 +25,8 @@ module Coverband
24
25
  @roots = @roots.split(",") if @roots.is_a?(String)
25
26
 
26
27
  super
28
+
29
+ @ignore_patterns -= VIEWS_PATTERNS.map { |ignore_str| Regexp.new(ignore_str) }
27
30
  end
28
31
 
29
32
  def railtie!
@@ -84,7 +87,7 @@ module Coverband
84
87
  recently_used_views = used_keys.keys
85
88
  unused_views = all_keys - recently_used_views
86
89
  # since layouts don't include format we count them used if they match with ANY formats
87
- unused_views.reject { |view| view.include?("/layouts/") && recently_used_views.any? { |used_view| view.include?(used_view) } }
90
+ unused_views = unused_views.reject { |view| view.include?("/layouts/") && recently_used_views.any? { |used_view| view.include?(used_view) } }
88
91
  unused_views.reject { |view| @ignore_patterns.any? { |pattern| view.match?(pattern) } }
89
92
  end
90
93
 
@@ -48,7 +48,7 @@ module Coverband
48
48
  # Heroku when building assets runs code from a dynamic directory
49
49
  # /tmp was added to avoid coverage from /tmp/build directories during
50
50
  # heroku asset compilation
51
- IGNORE_DEFAULTS = %w[vendor/ .erb$ .slim$ /tmp internal:prelude db/schema.rb]
51
+ IGNORE_DEFAULTS = %w[vendor/ /tmp internal:prelude db/schema.rb] + Collectors::ViewTracker::VIEWS_PATTERNS
52
52
 
53
53
  # Add in missing files which were never loaded
54
54
  # we need to know what all paths to check for unloaded files
@@ -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.3"
8
+ VERSION = "6.1.4"
9
9
  end
data/lib/coverband.rb CHANGED
@@ -5,7 +5,6 @@ require "json"
5
5
  require "redis"
6
6
  require "coverband/version"
7
7
  require "coverband/at_exit"
8
- require "coverband/configuration"
9
8
  require "coverband/utils/relative_file_converter"
10
9
  require "coverband/utils/absolute_file_converter"
11
10
  require "coverband/adapters/base"
@@ -27,6 +26,7 @@ require "coverband/reporters/console_report"
27
26
  require "coverband/integrations/background"
28
27
  require "coverband/integrations/background_middleware"
29
28
  require "coverband/integrations/rack_server_check"
29
+ require "coverband/configuration"
30
30
 
31
31
  Coverband::Adapters::RedisStore = Coverband::Adapters::HashRedisStore if ENV["COVERBAND_HASH_REDIS_STORE"]
32
32
 
@@ -88,22 +88,22 @@ class ViewTrackerTest < Minitest::Test
88
88
  Coverband::Collectors::ViewTracker.expects(:supported_version?).returns(true)
89
89
  store = fake_store
90
90
  file_path = "#{File.expand_path(Coverband.configuration.root)}/file"
91
- target = [file_path, "not_used"]
91
+ target = [file_path, "not_used.html.erb"]
92
92
  tracker = Coverband::Collectors::ViewTracker.new(store: store, roots: "dir", target: target)
93
93
  tracker.track_key(identifier: file_path)
94
94
  tracker.save_report
95
- assert_equal ["not_used"], tracker.unused_keys
95
+ assert_equal ["not_used.html.erb"], tracker.unused_keys
96
96
  end
97
97
 
98
98
  test "report hides partials marked in ignore config" do
99
99
  Coverband::Collectors::ViewTracker.expects(:supported_version?).returns(true)
100
100
  store = fake_store
101
101
  file_path = "#{File.expand_path(Coverband.configuration.root)}/app/views/anything/ignore_me.html.erb"
102
- target = [file_path, "not_used"]
102
+ target = [file_path, "not_used.html.erb"]
103
103
  tracker = Coverband::Collectors::ViewTracker.new(store: store, roots: "dir", target: target)
104
104
  tracker.track_key(identifier: file_path)
105
105
  tracker.save_report
106
- assert_equal ["not_used"], tracker.unused_keys
106
+ assert_equal ["not_used.html.erb"], tracker.unused_keys
107
107
  assert_equal [], tracker.used_keys.keys
108
108
  end
109
109
 
@@ -18,7 +18,7 @@ class BaseTest < Minitest::Test
18
18
 
19
19
  test "ignore works with equal" do
20
20
  Coverband::Collectors::Coverage.instance.reset_instance
21
- expected = ["vendor/", ".erb$", ".slim$", "/tmp", "internal:prelude", "db/schema.rb", "config/environments"].map { |str| Regexp.new(str) }
21
+ expected = ["vendor/", "/tmp", "internal:prelude", "db/schema.rb", ".erb$", ".haml$", ".slim$", "config/environments"].map { |str| Regexp.new(str) }
22
22
  assert_equal expected, Coverband.configuration.ignore
23
23
  end
24
24
 
@@ -28,11 +28,12 @@ class BaseTest < Minitest::Test
28
28
  end
29
29
  Coverband::Collectors::Coverage.instance.reset_instance
30
30
  expected = ["vendor/",
31
- ".erb$",
32
- ".slim$",
33
31
  "/tmp",
34
32
  "internal:prelude",
35
33
  "db/schema.rb",
34
+ ".erb$",
35
+ ".haml$",
36
+ ".slim$",
36
37
  "config/environments",
37
38
  "config/initializers"].map { |str| Regexp.new(str) }
38
39
  assert_equal expected, Coverband.configuration.ignore
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coverband
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.1.3
4
+ version: 6.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dan Mayer
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2024-10-16 00:00:00.000000000 Z
12
+ date: 2024-10-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: benchmark-ips