Class: RuboCop::Cop::Discourse::NoJsonParseResponse

Inherits:
RuboCop::Cop
  • Object
show all
Defined in:
lib/rubocop/cop/discourse/no_json_parse_response.rb

Overview

Use ‘response.parsed_body` instead of `JSON.parse(response.body)` in specs.

Examples:

# bad
expect(::JSON.parse(response.body)).to eq({})

# good
expect(response.parsed_body).to eq({})

Constant Summary collapse

MSG =
"Use `response.parsed_body` instead of `JSON.parse(response.body)` in specs."

Instance Method Summary collapse

Instance Method Details

#autocorrect(node) ⇒ Object



30
31
32
33
34
# File 'lib/rubocop/cop/discourse/no_json_parse_response.rb', line 30

def autocorrect(node)
  lambda do |corrector|
    corrector.replace(node.loc.expression, "response.parsed_body")
  end
end

#on_send(node) ⇒ Object



24
25
26
27
28
# File 'lib/rubocop/cop/discourse/no_json_parse_response.rb', line 24

def on_send(node)
  return unless json_parse_body?(node)

  add_offense(node, message: MSG)
end