Class: RuboCop::Cop::Betterment::ImplicitRedirectType
- Inherits:
-
RuboCop::Cop
- Object
- RuboCop::Cop
- RuboCop::Cop::Betterment::ImplicitRedirectType
- Defined in:
- lib/rubocop/cop/betterment/implicit_redirect_type.rb
Overview
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
Constant Summary collapse
- ROUTES_FILE_NAME =
'routes.rb'.freeze
- MSG =
'Rails will create a permanent (301) redirect, which is dangerous. ' \ 'Please specify your desired status, e.g. redirect(..., status: 302)'.freeze
Instance Method Summary collapse
Instance Method Details
#on_block(node) ⇒ Object
46 47 48 49 50 51 52 |
# File 'lib/rubocop/cop/betterment/implicit_redirect_type.rb', line 46 def on_block(node) return unless routes_file? if (node) { || .none?(&method(:valid_status_option?)) } || (node) add_offense(node, message: MSG) end end |
#on_send(node) ⇒ Object
54 55 56 57 58 59 60 |
# File 'lib/rubocop/cop/betterment/implicit_redirect_type.rb', line 54 def on_send(node) return unless routes_file? if (node) { || .none?(&method(:valid_status_option?)) } || (node) add_offense(node, message: MSG) end end |