We found a bug today in which templates/app_script.erb was expecting the variable path to be a Pathname, but instead it was a String. The variable path was assigned the value of @gem_home in gem_ext.rb (in the method app_script_text). This caused an "Undefined method join for String" error when erb.result(binding) was called and templates/app_script.erb was interpolated.
We set path = Pathname.new(@gem_home) on line 6 of gem_ext.rb and the problem was solved. It looks like it is possible for @gem_home to be a string. We looked for the place where @gem_home was originally assigned, and found it to be assigned from the method gem_path, which was a Pathname. However, somewhere along the line, it ended up as a String.