rails-route-checker 0.2.4 → 0.2.9

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: 3604e0534bad28fed12e85404774e01507b811767f3b08606963d8db34eeffd1
4
- data.tar.gz: 33ac9a2201800a8034242cbee920b693b8dd4772a7b44d4e5834df06f7977e5a
3
+ metadata.gz: 6a033b51eb9cdaf882526b2d66561fc4c172152f72a66a9ba20b149feb083f5c
4
+ data.tar.gz: 6458250f79b92009d94a66d7e7472f0beb063100883aac46a69d0c9a9ecd6406
5
5
  SHA512:
6
- metadata.gz: b82d44db72af06feda748069d51b060e403559e73ddbe0d8589ff551b086e7477868c9205ee232ae8fe2e81499083aedef70e0c0d572be07a6ee6ca75f0eb094
7
- data.tar.gz: baca9417795fb9ad33b776a9e011951f5c78ba5296b6fe189d0a31b94c8787fdeff529c8a899a513f4132899d1b460179d7c58c48d6a6ebec8c8591a34ad5912
6
+ metadata.gz: 61b1815bfcf53a03f4fb7d1f9a095c3aa8705cd432cb9b9e1f7697bf79736ade476fd683e6053c3b142219d1800923d02d3d19edc8e74869b3f72828e3ab515d
7
+ data.tar.gz: a28a726a4438b503ef92ed77002643d05a3007aa65c49fc489932a721a0ef13d61cb2a1b149014c4d5b03308d7b8ef0f3fd9bdb440fbc5aec7483ba0c71f7562
data/Gemfile CHANGED
@@ -1,2 +1,4 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
  gemspec
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  require 'rails-route-checker'
4
5
  require 'optparse'
@@ -24,6 +25,6 @@ end.parse!
24
25
 
25
26
  options[:config_file] = '.rails-route-checker.yml' if File.exist?('.rails-route-checker.yml') && !options[:config_file]
26
27
 
27
- rrc = RailsRouteChecker::Runner.new(options)
28
+ rrc = RailsRouteChecker::Runner.new(**options)
28
29
  puts rrc.output
29
30
  exit rrc.issues? ? 1 : 0
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'rails-route-checker/app_interface'
2
4
  require_relative 'rails-route-checker/config_file'
3
5
  require_relative 'rails-route-checker/loaded_app'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsRouteChecker
2
4
  class AppInterface
3
5
  def initialize(**opts)
@@ -42,7 +44,7 @@ module RailsRouteChecker
42
44
 
43
45
  info = controller_information[controller]
44
46
  return true if info[:actions].include?(action)
45
- return true if info[:lookup_context] && info[:lookup_context].template_exists?("#{controller}/#{action}")
47
+ return true if info[:lookup_context]&.template_exists?("#{controller}/#{action}")
46
48
 
47
49
  false
48
50
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsRouteChecker
2
4
  class ConfigFile
3
5
  def initialize(filename)
@@ -1,18 +1,31 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsRouteChecker
2
4
  class LoadedApp
3
5
  def initialize
4
- @app = suppress_output do
5
- app_base_path = Dir.pwd
6
+ app_base_path = Dir.pwd
7
+ suppress_output do
6
8
  require_relative "#{app_base_path}/config/boot"
7
- require_relative "#{Dir.pwd}/config/environment"
9
+ end
10
+
11
+ begin
12
+ suppress_output do
13
+ require_relative "#{Dir.pwd}/config/environment"
14
+ end
15
+ rescue Exception => e
16
+ puts "Requiring your config/environment.rb file failed."
17
+ puts "This means that something raised while trying to start Rails."
18
+ puts ""
19
+ puts e.backtrace
20
+ raise(e)
21
+ end
8
22
 
9
- a = Rails.application
10
- a.eager_load!
23
+ suppress_output do
24
+ @app = Rails.application
25
+ @app.eager_load!
11
26
  attempt_to_load_default_controllers
12
- a.reload_routes!
27
+ @app.reload_routes!
13
28
  Rails::Engine.subclasses.each(&:eager_load!)
14
-
15
- a
16
29
  end
17
30
  end
18
31
 
@@ -23,7 +36,7 @@ module RailsRouteChecker
23
36
  reject_route?(r)
24
37
  end.uniq
25
38
 
26
- return @routes unless @app.config.respond_to?(:assets)
39
+ return @routes unless app.config.respond_to?(:assets)
27
40
 
28
41
  use_spec = defined?(ActionDispatch::Journey::Route) || defined?(Journey::Route)
29
42
  @routes.reject do |route|
@@ -38,7 +51,7 @@ module RailsRouteChecker
38
51
 
39
52
  def controller_information
40
53
  @controller_information ||= ActionController::Base.descendants.map do |controller|
41
- next if controller.controller_path.start_with?('rails/')
54
+ next if controller.controller_path.nil? || controller.controller_path.start_with?('rails/')
42
55
 
43
56
  [
44
57
  controller.controller_path,
@@ -85,7 +98,7 @@ module RailsRouteChecker
85
98
  end
86
99
 
87
100
  def attempt_to_load_default_controllers
88
- # rubocop:disable Lint/HandleExceptions
101
+ # rubocop:disable Lint/SuppressedException
89
102
  begin
90
103
  ::Rails::InfoController
91
104
  rescue NameError # ignored
@@ -98,7 +111,7 @@ module RailsRouteChecker
98
111
  ::Rails::MailersController
99
112
  rescue NameError # ignored
100
113
  end
101
- # rubocop:enable Lint/HandleExceptions
114
+ # rubocop:enable Lint/SuppressedException
102
115
  end
103
116
 
104
117
  def reject_route?(route)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsRouteChecker
2
4
  module Parsers
3
5
  module ErbParser
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'haml_parser/document'
2
4
  require_relative 'haml_parser/tree/node'
3
5
  require_relative 'haml_parser/tree/filter_node'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsRouteChecker
2
4
  module Parsers
3
5
  module HamlParser
@@ -12,7 +14,7 @@ module RailsRouteChecker
12
14
  options = Haml::Options.new
13
15
  original_tree = case version
14
16
  when '~> 4.0', '~> 4.1' then Haml::Parser.new(@source, options).parse
15
- when '~> 5.0' then Haml::Parser.new(options).call(@source)
17
+ when '~> 5.0', '~> 5.1', '~> 5.2' then Haml::Parser.new(options).call(@source)
16
18
  else raise "Cannot handle Haml version: #{version}"
17
19
  end
18
20
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsRouteChecker
2
4
  module Parsers
3
5
  module HamlParser
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsRouteChecker
2
4
  module Parsers
3
5
  module HamlParser
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsRouteChecker
2
4
  module Parsers
3
5
  module HamlParser
@@ -68,7 +70,7 @@ module RailsRouteChecker
68
70
  next_sibling = siblings.next(self)
69
71
  return next_sibling if next_sibling
70
72
 
71
- parent.successor if parent
73
+ parent&.successor
72
74
  end
73
75
 
74
76
  def next_node
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsRouteChecker
2
4
  module Parsers
3
5
  module HamlParser
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsRouteChecker
2
4
  module Parsers
3
5
  module HamlParser
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsRouteChecker
2
4
  module Parsers
3
5
  module HamlParser
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsRouteChecker
2
4
  module Parsers
3
5
  module HamlParser
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsRouteChecker
2
4
  module Parsers
3
5
  module Loader
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ripper'
2
4
 
3
5
  module RailsRouteChecker
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsRouteChecker
2
4
  class Runner
3
5
  def initialize(**opts)
@@ -14,7 +16,7 @@ module RailsRouteChecker
14
16
  end
15
17
 
16
18
  def issues?
17
- issues.values.flatten(1).count > 0
19
+ issues.values.flatten(1).count.positive?
18
20
  end
19
21
 
20
22
  def output
@@ -31,7 +33,7 @@ module RailsRouteChecker
31
33
  private
32
34
 
33
35
  def app_interface
34
- @app_interface ||= RailsRouteChecker::AppInterface.new(@options)
36
+ @app_interface ||= RailsRouteChecker::AppInterface.new(**@options)
35
37
  end
36
38
 
37
39
  def missing_actions_output
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsRouteChecker
2
- VERSION = '0.2.4'.freeze
4
+ VERSION = '0.2.9'
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  lib = File.expand_path('lib', __dir__)
2
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
5
  require 'rails-route-checker/version'
@@ -21,7 +23,7 @@ Gem::Specification.new do |spec|
21
23
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
24
  spec.require_paths = ['lib']
23
25
 
24
- spec.add_development_dependency 'bundler', '~> 1.15'
25
- spec.add_development_dependency 'rake', '~> 10.0'
26
- spec.add_development_dependency 'rubocop', '~> 0.60'
26
+ spec.add_development_dependency 'bundler', '~> 2.1'
27
+ spec.add_development_dependency 'rake', '~> 13.0'
28
+ spec.add_development_dependency 'rubocop', '~> 0.86'
27
29
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-route-checker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dave Allie
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-11-26 00:00:00.000000000 Z
11
+ date: 2020-12-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,42 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.15'
19
+ version: '2.1'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.15'
26
+ version: '2.1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '13.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '10.0'
40
+ version: '13.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rubocop
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0.60'
47
+ version: '0.86'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0.60'
54
+ version: '0.86'
55
55
  description: A linting tool that helps you find any routes defined in your routes.rb
56
56
  file that don't have a corresponding controller action, and find any _path or _url
57
57
  calls that don't have a corresponding route in the routes.rb file.
@@ -87,7 +87,7 @@ homepage: https://github.com/daveallie/rails-route-checker
87
87
  licenses:
88
88
  - MIT
89
89
  metadata: {}
90
- post_install_message:
90
+ post_install_message:
91
91
  rdoc_options: []
92
92
  require_paths:
93
93
  - lib
@@ -102,9 +102,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  requirements: []
105
- rubyforge_project:
106
- rubygems_version: 2.7.7
107
- signing_key:
105
+ rubygems_version: 3.1.2
106
+ signing_key:
108
107
  specification_version: 4
109
108
  summary: A linting tool for your Rails routes
110
109
  test_files: []