coverband 5.2.6.rc.1 → 5.2.6.rc.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -23,7 +23,7 @@ class RouterTrackerTest < Minitest::Test
23
23
  assert_equal nil, tracker.target.first
24
24
  assert !tracker.store.nil?
25
25
  assert_equal [], tracker.target
26
- assert_equal [], tracker.logged_routes
26
+ assert_equal [], tracker.logged_keys
27
27
  end
28
28
 
29
29
  test "track redirect routes" do
@@ -35,9 +35,9 @@ class RouterTrackerTest < Minitest::Test
35
35
  payload = {
36
36
  request: Payload.new("path", "GET")
37
37
  }
38
- tracker.track_routes("name", "start", "finish", "id", payload)
39
- tracker.report_routes_tracked
40
- assert_equal [route_hash], tracker.logged_routes
38
+ tracker.track_key(payload)
39
+ tracker.save_report
40
+ assert_equal [route_hash], tracker.logged_keys
41
41
  end
42
42
 
43
43
  test "track controller routes" do
@@ -52,9 +52,9 @@ class RouterTrackerTest < Minitest::Test
52
52
  path: "path",
53
53
  method: "GET"
54
54
  }
55
- tracker.track_routes("name", "start", "finish", "id", payload)
56
- tracker.report_routes_tracked
57
- assert_equal [route_hash], tracker.logged_routes
55
+ tracker.track_key(payload)
56
+ tracker.save_report
57
+ assert_equal [route_hash], tracker.logged_keys
58
58
  end
59
59
 
60
60
  test "report used routes" do
@@ -68,9 +68,9 @@ class RouterTrackerTest < Minitest::Test
68
68
  path: "path",
69
69
  method: "GET"
70
70
  }
71
- tracker.track_routes("name", "start", "finish", "id", payload)
72
- tracker.report_routes_tracked
73
- assert_equal [route_hash.to_s], tracker.used_routes.keys
71
+ tracker.track_key(payload)
72
+ tracker.save_report
73
+ assert_equal [route_hash.to_s], tracker.used_keys.keys
74
74
  end
75
75
 
76
76
  test "report unused routes" do
@@ -97,9 +97,9 @@ class RouterTrackerTest < Minitest::Test
97
97
  path: "path",
98
98
  method: "GET"
99
99
  }
100
- tracker.track_routes("name", "start", "finish", "id", payload)
101
- tracker.report_routes_tracked
102
- assert_equal [app_routes.first], tracker.unused_routes
100
+ tracker.track_key(payload)
101
+ tracker.save_report
102
+ assert_equal [app_routes.first], tracker.unused_keys
103
103
  end
104
104
 
105
105
  test "report unused routes pulls out parameterized routes" do
@@ -120,9 +120,9 @@ class RouterTrackerTest < Minitest::Test
120
120
  path: "some/controller/123",
121
121
  method: "GET"
122
122
  }
123
- tracker.track_routes("name", "start", "finish", "id", payload)
124
- tracker.report_routes_tracked
125
- assert_equal [], tracker.unused_routes
123
+ tracker.track_key(payload)
124
+ tracker.save_report
125
+ assert_equal [], tracker.unused_keys
126
126
  end
127
127
 
128
128
  test "reset store" do
@@ -135,9 +135,9 @@ class RouterTrackerTest < Minitest::Test
135
135
  method: "GET"
136
136
  }
137
137
  store.raw_store.expects(:del).with(tracker_key)
138
- store.raw_store.expects(:del).with("route_tracker_time")
138
+ store.raw_store.expects(:del).with("RouteTracker_tracker_time")
139
139
  tracker = Coverband::Collectors::RouteTracker.new(store: store, roots: "dir")
140
- tracker.track_routes("name", "start", "finish", "id", payload)
140
+ tracker.track_key(payload)
141
141
  tracker.reset_recordings
142
142
  end
143
143
 
@@ -152,10 +152,10 @@ class RouterTrackerTest < Minitest::Test
152
152
  path: "path",
153
153
  method: "GET"
154
154
  }
155
- tracker.track_routes("name", "start", "finish", "id", payload)
156
- tracker.report_routes_tracked
157
- assert_equal [route_hash.to_s], tracker.used_routes.keys
158
- tracker.clear_route!(route_hash.to_s)
155
+ tracker.track_key(payload)
156
+ tracker.save_report
157
+ assert_equal [route_hash.to_s], tracker.used_keys.keys
158
+ tracker.clear_key!(route_hash.to_s)
159
159
  assert_equal [], tracker.store.raw_store.hgetall(tracker_key).keys
160
160
  end
161
161
 
@@ -4,7 +4,7 @@ require File.expand_path("../../test_helper", File.dirname(__FILE__))
4
4
 
5
5
  class ViewTrackerTest < Minitest::Test
6
6
  def tracker_key
7
- "render_tracker_2"
7
+ "ViewTracker_tracker"
8
8
  end
9
9
 
10
10
  def setup
@@ -18,7 +18,7 @@ class ViewTrackerTest < Minitest::Test
18
18
  assert_equal "dir", tracker.roots.first
19
19
  assert !tracker.store.nil?
20
20
  assert_equal [], tracker.target
21
- assert_equal [], tracker.logged_views
21
+ assert_equal [], tracker.logged_keys
22
22
  end
23
23
 
24
24
  test "track partials" do
@@ -27,9 +27,9 @@ class ViewTrackerTest < Minitest::Test
27
27
  file_path = "#{File.expand_path(Coverband.configuration.root)}/file"
28
28
  store.raw_store.expects(:hset).with(tracker_key, file_path, anything)
29
29
  tracker = Coverband::Collectors::ViewTracker.new(store: store, roots: "dir")
30
- tracker.track_views("name", "start", "finish", "id", identifier: file_path)
31
- tracker.report_views_tracked
32
- assert_equal [file_path], tracker.logged_views
30
+ tracker.track_key(identifier: file_path)
31
+ tracker.save_report
32
+ assert_equal [file_path], tracker.logged_keys
33
33
  end
34
34
 
35
35
  test "track partials that include the word vendor in the path" do
@@ -37,9 +37,9 @@ class ViewTrackerTest < Minitest::Test
37
37
  store = fake_store
38
38
  file_path = "#{File.expand_path(Coverband.configuration.root)}/vendor_relations/file"
39
39
  tracker = Coverband::Collectors::ViewTracker.new(store: store, roots: "dir")
40
- tracker.track_views("name", "start", "finish", "id", identifier: file_path)
41
- tracker.report_views_tracked
42
- assert_equal [file_path], tracker.used_views.keys
40
+ tracker.track_key(identifier: file_path)
41
+ tracker.save_report
42
+ assert_equal [file_path], tracker.used_keys.keys
43
43
  end
44
44
 
45
45
  test "track partials that include the word _mailer in the path" do
@@ -47,9 +47,9 @@ class ViewTrackerTest < Minitest::Test
47
47
  store = fake_store
48
48
  file_path = "#{File.expand_path(Coverband.configuration.root)}/_mailer/file"
49
49
  tracker = Coverband::Collectors::ViewTracker.new(store: store, roots: "dir")
50
- tracker.track_views("name", "start", "finish", "id", identifier: file_path)
51
- tracker.report_views_tracked
52
- assert_equal [file_path], tracker.used_views.keys
50
+ tracker.track_key(identifier: file_path)
51
+ tracker.save_report
52
+ assert_equal [file_path], tracker.used_keys.keys
53
53
  end
54
54
 
55
55
  test "ignore partials that include the folder vendor in the path" do
@@ -57,9 +57,9 @@ class ViewTrackerTest < Minitest::Test
57
57
  store = fake_store
58
58
  file_path = "#{File.expand_path(Coverband.configuration.root)}/vendor/file"
59
59
  tracker = Coverband::Collectors::ViewTracker.new(store: store, roots: "dir")
60
- tracker.track_views("name", "start", "finish", "id", identifier: file_path)
61
- tracker.report_views_tracked
62
- assert_equal({}, tracker.used_views)
60
+ tracker.track_key(identifier: file_path)
61
+ tracker.save_report
62
+ assert_equal({}, tracker.used_keys)
63
63
  end
64
64
 
65
65
  test "track layouts" do
@@ -68,9 +68,9 @@ class ViewTrackerTest < Minitest::Test
68
68
  file_path = "#{File.expand_path(Coverband.configuration.root)}/layout"
69
69
  store.raw_store.expects(:hset).with(tracker_key, file_path, anything)
70
70
  tracker = Coverband::Collectors::ViewTracker.new(store: store, roots: "dir")
71
- tracker.track_views("name", "start", "finish", "id", layout: file_path)
72
- tracker.report_views_tracked
73
- assert_equal [file_path], tracker.logged_views
71
+ tracker.track_key(layout: file_path)
72
+ tracker.save_report
73
+ assert_equal [file_path], tracker.logged_keys
74
74
  end
75
75
 
76
76
  test "report used partials" do
@@ -78,9 +78,9 @@ class ViewTrackerTest < Minitest::Test
78
78
  store = fake_store
79
79
  file_path = "#{File.expand_path(Coverband.configuration.root)}/file"
80
80
  tracker = Coverband::Collectors::ViewTracker.new(store: store, roots: "dir")
81
- tracker.track_views("name", "start", "finish", "id", identifier: file_path)
82
- tracker.report_views_tracked
83
- assert_equal [file_path], tracker.used_views.keys
81
+ tracker.track_key(identifier: file_path)
82
+ tracker.save_report
83
+ assert_equal [file_path], tracker.used_keys.keys
84
84
  end
85
85
 
86
86
  test "report unused partials" do
@@ -89,30 +89,30 @@ class ViewTrackerTest < Minitest::Test
89
89
  file_path = "#{File.expand_path(Coverband.configuration.root)}/file"
90
90
  target = [file_path, "not_used"]
91
91
  tracker = Coverband::Collectors::ViewTracker.new(store: store, roots: "dir", target: target)
92
- tracker.track_views("name", "start", "finish", "id", identifier: file_path)
93
- tracker.report_views_tracked
94
- assert_equal ["not_used"], tracker.unused_views
92
+ tracker.track_key(identifier: file_path)
93
+ tracker.save_report
94
+ assert_equal ["not_used"], tracker.unused_keys
95
95
  end
96
96
 
97
97
  test "reset store" do
98
98
  Coverband::Collectors::ViewTracker.expects(:supported_version?).returns(true)
99
99
  store = fake_store
100
100
  store.raw_store.expects(:del).with(tracker_key)
101
- store.raw_store.expects(:del).with("render_tracker_time")
101
+ store.raw_store.expects(:del).with("ViewTracker_tracker_time")
102
102
  tracker = Coverband::Collectors::ViewTracker.new(store: store, roots: "dir")
103
- tracker.track_views("name", "start", "finish", "id", identifier: "file")
103
+ tracker.track_key(identifier: "file")
104
104
  tracker.reset_recordings
105
105
  end
106
106
 
107
- test "clear_file" do
107
+ test "clear_key" do
108
108
  Coverband::Collectors::ViewTracker.expects(:supported_version?).returns(true)
109
109
  store = fake_store
110
110
  file_path = "#{File.expand_path(Coverband.configuration.root)}/file"
111
111
  store.raw_store.expects(:hdel).with(tracker_key, file_path)
112
112
  tracker = Coverband::Collectors::ViewTracker.new(store: store, roots: "dir")
113
- tracker.track_views("name", "start", "finish", "id", identifier: file_path)
114
- tracker.clear_file!("file")
115
- assert_equal [], tracker.logged_views
113
+ tracker.track_key(identifier: file_path)
114
+ tracker.clear_key!("file")
115
+ assert_equal [], tracker.logged_keys
116
116
  end
117
117
 
118
118
  protected
@@ -22,35 +22,35 @@ class RailsFullStackTest < Minitest::Test
22
22
  visit "/dummy_view/show"
23
23
  assert_content("I am no dummy view tracker text")
24
24
  Coverband.report_coverage
25
- Coverband.configuration.view_tracker&.report_views_tracked
26
- Coverband.configuration.route_tracker&.report_routes_tracked
27
- visit "/coverage/view_tracker"
25
+ Coverband.configuration.view_tracker&.save_report
26
+ Coverband.configuration.route_tracker&.save_report
27
+ visit "/coverage/views_tracker"
28
28
  assert_content("Used Views: (1)")
29
29
  assert_content("Unused Views: (2)")
30
- assert_selector("li.used-views", text: "dummy_view/show.html.erb")
31
- assert_selector("li.unused-views", text: "dummy_view/show_haml.html.haml")
32
- assert_selector("li.unused-views", text: "dummy_view/show_slim.html.slim")
30
+ assert_selector("li.used-keys", text: "dummy_view/show.html.erb")
31
+ assert_selector("li.unused-keys", text: "dummy_view/show_haml.html.haml")
32
+ assert_selector("li.unused-keys", text: "dummy_view/show_slim.html.slim")
33
33
 
34
- visit "/coverage/route_tracker"
34
+ visit "/coverage/routes_tracker"
35
35
  assert_content("Used Routes: (1)")
36
36
  assert_content("Unused Routes: (5)")
37
37
 
38
38
  visit "/dummy_view/show_haml"
39
39
  assert_content("I am haml text")
40
40
  Coverband.report_coverage
41
- Coverband.configuration.view_tracker&.report_views_tracked
42
- visit "/coverage/view_tracker"
41
+ Coverband.configuration.view_tracker&.save_report
42
+ visit "/coverage/views_tracker"
43
43
  assert_content("Used Views: (2)")
44
44
  assert_content("Unused Views: (1)")
45
- assert_selector("li.used-views", text: "dummy_view/show_haml.html.haml")
45
+ assert_selector("li.used-keys", text: "dummy_view/show_haml.html.haml")
46
46
 
47
47
  visit "/dummy_view/show_slim"
48
48
  assert_content("I am slim text")
49
49
  Coverband.report_coverage
50
- Coverband.configuration.view_tracker&.report_views_tracked
51
- visit "/coverage/view_tracker"
50
+ Coverband.configuration.view_tracker&.save_report
51
+ visit "/coverage/views_tracker"
52
52
  assert_content("Used Views: (3)")
53
53
  assert_content("Unused Views: (0)")
54
- assert_selector("li.used-views", text: "dummy_view/show_slim.html.slim")
54
+ assert_selector("li.used-keys", text: "dummy_view/show_slim.html.slim")
55
55
  end
56
56
  end
@@ -17,7 +17,7 @@ class RailsRoutesWithoutConfigStackTest < Minitest::Test
17
17
  output = `sleep 7 && curl http://localhost:9999/dummy_view/show`
18
18
  assert output.match(/rendered view/)
19
19
  assert output.match(/I am no dummy view tracker text/)
20
- output = `sleep 2 && curl http://localhost:9999/coverage/route_tracker`
20
+ output = `sleep 2 && curl http://localhost:9999/coverage/routes_tracker`
21
21
  assert output.match(/Used Routes: \(1\)/)
22
22
  assert output.match(/dummy_view\/show/)
23
23
  assert output.match(/GET/)
@@ -17,7 +17,7 @@ class RailsWithoutConfigStackTest < Minitest::Test
17
17
  output = `sleep 7 && curl http://localhost:9999/dummy_view/show`
18
18
  assert output.match(/rendered view/)
19
19
  assert output.match(/I am no dummy view tracker text/)
20
- output = `sleep 2 && curl http://localhost:9999/coverage/view_tracker`
20
+ output = `sleep 2 && curl http://localhost:9999/coverage/views_tracker`
21
21
  assert output.match(/Used Views: \(1\)/)
22
22
  assert output.match(/dummy_view\/show/)
23
23
  end
@@ -11,31 +11,30 @@
11
11
 
12
12
  <body>
13
13
  <div id="wrapper" style="">
14
- <%= display_nav(active_link: 'translations_tracker') %>
14
+ <%= display_nav(active_link: tracker.route) %>
15
15
  <div id="content">
16
- <% tracker = Coverband::Collectors::TranslationTracker.new(store: Coverband.configuration.store) %>
17
16
  <h4>
18
17
  <% if Coverband.configuration.web_enable_clear %>
19
- <%= button("#{base_path}clear_translation_tracking", 'reset translation tracker', delete: true) %>
18
+ <%= button("#{base_path}clear_#{tracker.route}", "reset #{tracker.title} tracker", delete: true) %>
20
19
  <% end %>
21
20
  </h4>
22
- <h2>Unused Translations: (<%= tracker.unused_keys.length %>)</h2>
23
- <p>These Translations have not been rendered since recording started at <%= tracker.tracking_since %></p>
21
+ <h2>Unused <%= tracker.title %>: (<%= tracker.unused_keys.length %>)</h2>
22
+ <p>These <%= tracker.title %> have not been rendered since recording started at <%= tracker.tracking_since %></p>
24
23
  <ul>
25
24
  <% tracker.unused_keys.each do |key| %>
26
25
  <li class="unused-keys"><%= key %></li>
27
26
  <% end %>
28
27
  </ul>
29
28
 
30
- <h2>Used Translations: (<%= tracker.used_keys.length %>)</h2>
31
- <p>These Translations have been rendered at least once</p>
29
+ <h2>Used <%= tracker.title %>: (<%= tracker.used_keys.length %>)</h2>
30
+ <p>These <%= tracker.title %> have been rendered at least once</p>
32
31
  <ul>
33
32
  <% tracker.used_keys.each_pair do |key, time_at| %>
34
33
  <li class="used-keys">
35
34
  <%= key %>
36
35
  <span class="last_seen_at">last activity recorded <%= Time.at(time_at.to_i)%></span>
37
36
  <% if Coverband.configuration.web_enable_clear %>
38
- <%= button("#{base_path}clear_translations_tracking_key?key=#{key}", 'reset tracked key', delete: true) %>
37
+ <%= button("#{base_path}clear_#{tracker.route}_key?key=#{key}", 'reset tracked key', delete: true) %>
39
38
  <% end %>
40
39
  </li>
41
40
  <% end %>
data/views/nav.erb CHANGED
@@ -29,13 +29,13 @@
29
29
  <li><a href='<%= base_path %>'>Coverage</a></li>
30
30
  <% end %>
31
31
  <% if Coverband.configuration.track_views %>
32
- <li class='<%= nav_options[:active_link] == 'view_tracker' ? 'active' : '' %>'>
33
- <a href='<%= base_path %>view_tracker'>Views Tracker</a>
32
+ <li class='<%= nav_options[:active_link] == 'views_tracker' ? 'active' : '' %>'>
33
+ <a href='<%= base_path %>views_tracker'>Views Tracker</a>
34
34
  </li>
35
35
  <% end %>
36
36
  <% if Coverband.configuration.track_routes %>
37
- <li class='<%= nav_options[:active_link] == 'route_tracker' ? 'active' : '' %>'>
38
- <a href='<%= base_path %>route_tracker'>Route Tracker</a>
37
+ <li class='<%= nav_options[:active_link] == 'routes_tracker' ? 'active' : '' %>'>
38
+ <a href='<%= base_path %>routes_tracker'>Route Tracker</a>
39
39
  </li>
40
40
  <% end %>
41
41
  <% if Coverband.configuration.track_translations %>
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: 5.2.6.rc.1
4
+ version: 5.2.6.rc.2
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: 2022-12-28 00:00:00.000000000 Z
12
+ date: 2023-01-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: benchmark-ips
@@ -299,6 +299,7 @@ files:
299
299
  - lib/coverband/adapters/stdout_store.rb
300
300
  - lib/coverband/adapters/web_service_store.rb
301
301
  - lib/coverband/at_exit.rb
302
+ - lib/coverband/collectors/abstract_tracker.rb
302
303
  - lib/coverband/collectors/coverage.rb
303
304
  - lib/coverband/collectors/delta.rb
304
305
  - lib/coverband/collectors/route_tracker.rb
@@ -488,16 +489,14 @@ files:
488
489
  - test/rails_test_helper.rb
489
490
  - test/test_helper.rb
490
491
  - test/unique_files.rb
492
+ - views/abstract_tracker.erb
491
493
  - views/data.erb
492
494
  - views/file_list.erb
493
495
  - views/layout.erb
494
496
  - views/nav.erb
495
- - views/route_tracker.erb
496
497
  - views/settings.erb
497
498
  - views/source_file.erb
498
499
  - views/source_file_loader.erb
499
- - views/translations_tracker.erb
500
- - views/view_tracker.erb
501
500
  homepage: https://github.com/danmayer/coverband
502
501
  licenses:
503
502
  - MIT
@@ -1,49 +0,0 @@
1
- <!DOCTYPE html>
2
- <html xmlns='http://www.w3.org/1999/xhtml'>
3
- <head>
4
- <title>Coverband Info: <%= Coverband::VERSION %></title>
5
- <meta http-equiv="content-type" content="text/html; charset=utf-8" />
6
- <script src='<%= assets_path('dependencies.js') %>' type='text/javascript'></script>
7
- <script src='<%= assets_path('application.js') %>' type='text/javascript'></script>
8
- <link href='<%= assets_path('application.css') %>' media='screen, projection, print' rel='stylesheet' type='text/css'>
9
- <link rel="icon" type="image/png" href="<%= assets_path('favicon.png') %>" />
10
- </head>
11
-
12
- <body>
13
- <div id="wrapper" style="">
14
- <%= display_nav(active_link: 'route_tracker') %>
15
- <div id="content">
16
- <% tracker = Coverband::Collectors::RouteTracker.new(store: Coverband.configuration.store) %>
17
- <h4>
18
- <% if Coverband.configuration.web_enable_clear %>
19
- <%= button("#{base_path}clear_route_tracking", 'reset route tracker', delete: true) %>
20
- <% end %>
21
- </h4>
22
- <h2>Unused Routes: (<%= tracker.unused_routes.length %>)</h2>
23
- <p>These routes have not been rendered since recording started at <%= tracker.tracking_since %></p>
24
- <ul>
25
- <% tracker.unused_routes.each do |route| %>
26
- <li class="unused-routes"><%= route %></li>
27
- <% end %>
28
- </ul>
29
-
30
- <h2>Used Routes: (<%= tracker.used_routes.length %>)</h2>
31
- <p>These routes have been rendered at least once</p>
32
- <ul>
33
- <% tracker.used_routes.each_pair do |route, time_at| %>
34
- <li class="used-routes">
35
- <%= route %>
36
- <span class="last_seen_at">last activity recorded <%= Time.at(time_at.to_i)%></span>
37
- <% if Coverband.configuration.web_enable_clear %>
38
- <%= button("#{base_path}clear_route_tracking_route?route=#{route}", 'reset tracked route', delete: true) %>
39
- <% end %>
40
- </li>
41
- <% end %>
42
- </ul>
43
- </div>
44
- <div id="footer">
45
- Generated by <a href="http://github.com/danmayer/coverband">Coverband</a> v<%= Coverband::VERSION %>
46
- </div>
47
- </div>
48
- </body>
49
- </html>
@@ -1,52 +0,0 @@
1
- <!DOCTYPE html>
2
- <html xmlns='http://www.w3.org/1999/xhtml'>
3
- <head>
4
- <title>Coverband Info: <%= Coverband::VERSION %></title>
5
- <meta http-equiv="content-type" content="text/html; charset=utf-8" />
6
- <script src='<%= assets_path('dependencies.js') %>' type='text/javascript'></script>
7
- <script src='<%= assets_path('application.js') %>' type='text/javascript'></script>
8
- <link href='<%= assets_path('application.css') %>' media='screen, projection, print' rel='stylesheet' type='text/css'>
9
- <link rel="icon" type="image/png" href="<%= assets_path('favicon.png') %>" />
10
- </head>
11
-
12
- <body>
13
- <div id="wrapper" style="">
14
- <%= display_nav(active_link: 'view_tracker') %>
15
- <div id="content">
16
- <% tracker = Coverband::Collectors::ViewTracker.new(store: Coverband.configuration.store) %>
17
- <h4>
18
- <% if Coverband.configuration.web_enable_clear %>
19
- <%= button("#{base_path}clear_view_tracking", 'reset view tracker', delete: true) %>
20
- <% end %>
21
- <% if Coverband.configuration.web_debug %>
22
- <a href='<%= "#{base_path}view_tracker_data" %>'>view tracker data</a>
23
- <% end %>
24
- </h4>
25
- <h2>Unused Views: (<%= tracker.unused_views.length %>)</h2>
26
- <p>These views have not been rendered since recording started at <%= tracker.tracking_since %></p>
27
- <ul>
28
- <% tracker.unused_views.each do |view_file| %>
29
- <li class="unused-views"><%= view_file %></li>
30
- <% end %>
31
- </ul>
32
-
33
- <h2>Used Views: (<%= tracker.used_views.length %>)</h2>
34
- <p>These views have been rendered at least once</p>
35
- <ul>
36
- <% tracker.used_views.each_pair do |view_file, time_at| %>
37
- <li class="used-views">
38
- <%= view_file %>
39
- <span class="last_seen_at">last activity recorded <%= Time.at(time_at.to_i)%></span>
40
- <% if Coverband.configuration.web_enable_clear %>
41
- <%= button("#{base_path}clear_view_tracking_file?filename=#{view_file}", 'reset tracked file', delete: true) %>
42
- <% end %>
43
- </li>
44
- <% end %>
45
- </ul>
46
- </div>
47
- <div id="footer">
48
- Generated by <a href="http://github.com/danmayer/coverband">Coverband</a> v<%= Coverband::VERSION %>
49
- </div>
50
- </div>
51
- </body>
52
- </html>