traceroute 0.8.0 → 0.8.1

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: 291c384ad195a4230680d6d2a39d0f408e60d16eb0b51427d9d2fda091c162fb
4
- data.tar.gz: 8f23318498f820271d61e9d841d8970e3dbff7de0a9d61708a77bd5243f48f2e
3
+ metadata.gz: 6846d384263474eece3eb673268a34b514b0ec7b9f096073e2b45f3af8817bc6
4
+ data.tar.gz: 2776ad5760ade33db8534647b0dfdb2ca7df609bd3feeeb13c10fedbd6a8e755
5
5
  SHA512:
6
- metadata.gz: f165fa1c116887d9993c06da4a29872e4f72d816724314878e24d619bc893e074897b36b64ff819656cce2fca14b492664723e3dc7e4d3a28da2e1d39f19b7ab
7
- data.tar.gz: '069cf2f92bd6bd7468e64c1b2bbe6f5431b855dc757613ee1aa0b87322fd02d57cbe90e7c813a2e3135e3b7d3237c65a6572e6a72a2b0ecfd721af603ed17ce6'
6
+ metadata.gz: 2088865d44a331d44da1033107db6aac13c8c0b782d715cb0661be0f0966b6addc35782b6d6c140e24ffa594e904007a43017d5b92e712bc8d8ac43b8a7e86e5
7
+ data.tar.gz: 46354a4b08c79d8d9af15bf40f7297141f00d4af438b06712cbc73e2190a1fd55d3ceb56ab2c66368e19781c4b559e819d7bef49feb6a647c80b8eb91c789adb
@@ -10,9 +10,9 @@ This Rake task investigates your Rails application's routes definition, then sho
10
10
 
11
11
  == Supported versions
12
12
 
13
- * Ruby 1.8.7, 1.9.2, 1.9.3, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6 (trunk)
13
+ * Ruby 1.8.7, 1.9.2, 1.9.3, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8 (trunk)
14
14
 
15
- * Rails 3.0.x, 3.1.x, 3.2.x, 4.0.x, 4.1.x, 5.0.x, 5.1.x
15
+ * Rails 3.0.x, 3.1.x, 3.2.x, 4.0.x, 4.1.x, 5.0.x, 5.1.x, 5.2.x, 6.0, 6.1 (master)
16
16
 
17
17
 
18
18
  == Install
@@ -5,12 +5,8 @@ task :traceroute => :environment do
5
5
  traceroute = Traceroute.new Rails.application
6
6
  traceroute.load_everything!
7
7
 
8
- defined_action_methods = traceroute.defined_action_methods
9
-
10
- routed_actions = traceroute.routed_actions
11
-
12
8
  unless ENV['UNREACHABLE_ACTION_METHODS_ONLY']
13
- unused_routes = routed_actions - defined_action_methods
9
+ unused_routes = traceroute.unused_routes
14
10
  puts "Unused routes (#{unused_routes.count}):"
15
11
  unused_routes.each {|route| puts " #{route}"}
16
12
  end
@@ -18,7 +14,7 @@ task :traceroute => :environment do
18
14
  puts unless (ENV['UNREACHABLE_ACTION_METHODS_ONLY'] || ENV['UNUSED_ROUTES_ONLY'])
19
15
 
20
16
  unless ENV['UNUSED_ROUTES_ONLY']
21
- unreachable_action_methods = defined_action_methods - routed_actions
17
+ unreachable_action_methods = traceroute.unreachable_action_methods
22
18
  puts "Unreachable action methods (#{unreachable_action_methods.count}):"
23
19
  unreachable_action_methods.each {|action| puts " #{action}"}
24
20
  end
@@ -42,8 +42,16 @@ class Traceroute
42
42
  Rails::Engine.subclasses.each(&:eager_load!)
43
43
  end
44
44
 
45
+ def unused_routes
46
+ routed_actions - defined_action_methods
47
+ end
48
+
49
+ def unreachable_action_methods
50
+ defined_action_methods - routed_actions
51
+ end
52
+
45
53
  def defined_action_methods
46
- [ActionController::Base, (ActionController::API if defined?(ActionController::API))].compact.map do |klass|
54
+ @defined_action_methods ||= [ActionController::Base, (ActionController::API if defined?(ActionController::API))].compact.map do |klass|
47
55
  klass.descendants.map do |controller|
48
56
  controller.action_methods.reject {|a| (a =~ /\A(_conditional)?_callback_/) || (a == '_layout_from_proc')}.map do |action|
49
57
  "#{controller.controller_path}##{action}"
@@ -53,7 +61,7 @@ class Traceroute
53
61
  end
54
62
 
55
63
  def routed_actions
56
- routes.map do |r|
64
+ @routed_actions ||= routes.map do |r|
57
65
  if r.requirements[:controller].present? && r.requirements[:action].present?
58
66
  "#{r.requirements[:controller]}##{r.requirements[:action]}"
59
67
  elsif (String === r.path) && (WILDCARD_ROUTES =~ r.path)
@@ -72,7 +80,7 @@ class Traceroute
72
80
 
73
81
  def collect_routes(routes)
74
82
  routes = routes.each_with_object([]) do |r, tmp_routes|
75
- next if (ActionDispatch::Routing::Mapper::Constraints === r.app) && (ActionDispatch::Routing::PathRedirect === r.app.app)
83
+ next if (ActionDispatch::Routing::Mapper::Constraints === r.app) && (%w[ActionDispatch::Routing::PathRedirect ActionDispatch::Routing::Redirect].include?(r.app.app.class.name))
76
84
 
77
85
  if r.app.is_a?(ActionDispatch::Routing::Mapper::Constraints) && r.app.app.respond_to?(:routes)
78
86
  engine_routes = r.app.app.routes
@@ -22,6 +22,8 @@ module TracerouteTest
22
22
  DummyApp::Application.routes.draw do
23
23
  resources :users, :only => [:index, :show, :new, :create]
24
24
 
25
+ get '/', to: redirect('/users'), constraints: lambda { true }
26
+
25
27
  namespace :admin do
26
28
  resources :shops, :only => :index
27
29
  end
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "traceroute"
6
- s.version = '0.8.0'
6
+ s.version = '0.8.1'
7
7
  s.platform = Gem::Platform::RUBY
8
8
  s.authors = ['Akira Matsuda']
9
9
  s.email = ['ronnie@dio.jp']
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: traceroute
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.8.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Akira Matsuda
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-10-31 00:00:00.000000000 Z
11
+ date: 2020-04-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -66,8 +66,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
66
66
  - !ruby/object:Gem::Version
67
67
  version: '0'
68
68
  requirements: []
69
- rubyforge_project:
70
- rubygems_version: 2.7.6
69
+ rubygems_version: 3.1.2
71
70
  signing_key:
72
71
  specification_version: 4
73
72
  summary: A Rake task that helps you find the dead routes and actions for your Rails