I think this still evaluates to true if it's an empty string. Also wondering if has_variable is ever false since it's in the class that's calling this.