Rails - Rubocop - Begin + Rescue syntax

Method bodies, block bodies, and lambda bodies are implicit exception blocks. You don't need to wrap the entire code of a method body, block body, or lambda body in a begin / rescue / else / ensure / end exception block, since it is already implicitly one. So, whenever you have something like

def foo
  begin
  rescue
  end
end

or

foo do
  begin
  rescue
  end
end

or

-> do
  begin
  rescue
  end
end

you can replace it with just

def foo
rescue
end

or the equivalent for blocks and lambdas.


Do this when the begin would be the first thing in your method

def payload
  @payload ||= Warden::JWTAuth::TokenDecoder.new.call(token)
rescue JWT::ExpiredSignature => e
  Rollbar.warning(e)
end