class RuboCop::Cop::Sequoiacap::RailsControllerRenderShorthand
Constants
- MSG
Public Instance Methods
autocorrect(node)
click to toggle source
# File lib/rubocop/cop/sequoiacap/rails_controller_render_shorthand.rb, line 27 def autocorrect(node) @autocorrect[node] end
investigate(*)
click to toggle source
# File lib/rubocop/cop/sequoiacap/rails_controller_render_shorthand.rb, line 23 def investigate(*) @autocorrect = {} end
on_send(node)
click to toggle source
# File lib/rubocop/cop/sequoiacap/rails_controller_render_shorthand.rb, line 31 def on_send(node) option_pairs = render_with_options?(node) return unless option_pairs option_pairs.each do |pair| value_node = action_key?(pair) if value_node comma = option_pairs.length > 1 ? ', ' : '' corrected_source = node.source .sub(/#{pair.source}(,\s*)?/, '') .sub('render ', "render '#{str(value_node)}'#{comma}") @autocorrect[node] = lambda do |corrector| corrector.replace(node.source_range, corrected_source) end add_offense(node, location: :expression, message: "Use `#{corrected_source}` instead") end end end