-
Notifications
You must be signed in to change notification settings - Fork 3
wrong constant name Virtus::Coercion::String (NameError) #9
Comments
Looking at the stacktrace, just before the exception is thrown Now, based on the error message it looks like the string So I'm guessing that wherever the class/module is being set it needs to split up the string and create a "chain" of modules, first "Virtus", then inside that "Coercion", then inside that "String. It would probably have to be smart about using a class or module as appropriate, and setting the correct superclass if applicable. (just a guess) I think that place may be @txus does that sound right? |
Makes sense. You're running that on Virtus right? Could you paste me the |
In my case I ran it against another project of mine, but I had to do some tweaking to get it to work under rspec 2. At the moment I'm using RSpec 1 in the master branch, but I'll create an rspec2 branch to make it easier to repro. |
Here are steps to repro: (I would assume any rbx would repro this, but I was using rbx-head) rvm rbx-head
git clone git://github.com/dkubb/ice_nine.git
cd ice_nine
git checkout rspec2
gem install bundler && bundle
bundle exec mutate "IceNine::Freezer::Object.deep_freeze" spec/unit/ice_nine/freezer/object/class_methods/deep_freeze_spec.rb EDIT: the exception I see is
|
Ok, I started to poke around with this. I tried a few hacky attempts to get the AST for a class (or module) and I wasn't satisfied with any of them. I found it a bit hard to even tell if I was on the right track since the docs for this part of Rubinius are pretty sparse. I'll give it a try again later this week, but I wanted to report that I tried for a couple of hours and didn't make any forward progress on this. |
it's me again :)
The text was updated successfully, but these errors were encountered: