@sdetweil Thanks for the response. I figured it out (just needed a fresh look, I guess). It didn’t have to do with scoping or binding – I was using parser.parse() when it should be parser.parseURL().
Just more for breadcrumbs for anyone reading this later, while it is true that it is important to scope a variable to self and do as you suggest, it is actually completely unnecessary in some cases and just leads to confusing code. If in my method I declare a require and then use that variable and no other method ever needs to use that variable, then scoping it to self just increases the size of the object unnecessarily since it can’t be garbage collected. And if I declare a require statement at the top of my module, I am creating a global variable, which can be dangerous and bad if I don’t understand what that means but is the right way if it is not an instance variable of the object.
I don’t want to seem unappreciative – I do really appreciate your saying this as it made me requestion my code…