This is part of the Semicolon&Sons Code Diary - consisting of lessons learned on the job. You're in the dumb-mistakes-and-gotchas category.
Last Updated: 2024-11-21
I was confused by some response in a Ruby. When I inspected it, it seemed to
have the value 200
, but when I performed logic on it, it acted like nil
.
The output was like this:
$ test_page_count
200
=> nil
What I should have realized, is that the return value always comes after =>
in
the Ruby REPL (and that it's typically one line)
What confuesd me was that there was an errant puts
statement wrapping the code
I wanted to execute and puts
always returns nil
(the wrapped code's return
value instead gets printed to STDOUT)
def test_page_count
puts post('/page_count', file: base_url + '/mistake_framework.pdf')
end
def post
HTTP.post(base_url + url, form: options).code
end
After removing this puts statement, the output became
$ test_page_count
=> 200