Using unless with a redirect
I have a gem that has been giving me trouble lately. It saved me
countless hours of dev time upfront, but is beginning to cause me
problems now that I want to extend it. I learned quickly how to clone
and edit a gem locally using the gem gem_name, path: 'path/to/local/gem'
,
to get the changes I personally needed.
The difficulty came when, for some yet inexplicable reason, it was causing duplicate calls. Rather than spend more time digging deeper into the gem to solve that problem too, I decided to make my own code more robust by preventing duplicates all together.
I did this by wrapping my original create code in an unless
. Now, no
matter how many times this gem submits to my controller, it’ll only run
the code once.
def method_name
unless organization.subscribed?
# subscribe the org
end
if organization.subscribed?
# sub succeeded, get out
else
# handle some errors
end
end