class RuboCop::Cop::Betterment::ImplicitRedirectType
Require explicit redirect statuses in routes.rb. Refer to the book for more details: github.com/Betterment/the-book/blob/master/platform-specific/ruby.markdown#use-temporary-redirects-eg-redirectstatus-302
@example
# bad get '/', redirect('/dashboard') get { |params, request| '/dashboard' } # good get '/', redirect('/dashboard', status: 301) get(status: 302) { |params, request| '/dashboard' }
Constants
- MSG
- ROUTES_FILE_NAME
Public Instance Methods
on_block(node)
click to toggle source
# File lib/rubocop/cop/betterment/implicit_redirect_type.rb, line 46 def on_block(node) return unless routes_file? if block_form_with_options(node) { |options| options.none?(&method(:valid_status_option?)) } || block_form_without_options?(node) add_offense(node) end end
on_send(node)
click to toggle source
# File lib/rubocop/cop/betterment/implicit_redirect_type.rb, line 54 def on_send(node) return unless routes_file? if arg_form_with_options(node) { |options| options.none?(&method(:valid_status_option?)) } || arg_form_without_options?(node) add_offense(node) end end
Private Instance Methods
routes_file?()
click to toggle source
# File lib/rubocop/cop/betterment/implicit_redirect_type.rb, line 64 def routes_file? Pathname.new(processed_source.buffer.name).basename.to_s == ROUTES_FILE_NAME end