Pry step function namespace collision with cucumber
daveroberts opened this issue · 5 comments
Pry's step function has a namespace collision with cucumber's step function. Calling step when inside a binding pry from within cucumber causes an infinite loop. Setting an alias doesn't help. Perhaps in addition to alias, there should be a rename?
We've logged this in Cucumber here. I'm over here to see how I can help.
It seems to me that there should be a way for pry-nav to add its commands into the context of the REPL session without stomping on the methods of the class it's debugging, but that's just my first impression :)
How can we best solve this?
@daveroberts The current ways to resolve a command/method collision aren't sufficient?
- Prepend a space before typing
step
(this will invoke the RSpecstep
) - You can turn on
Pry.config.command_prefix
this will require you to type%step
(typically) before the pry-navstep
command is invoked. - You can manually rename
step
yourself in your.pryrc
, i.e `Pry.commands.rename "my-step", "step"
I don't understand how it causes an infinite loop. Either pry-nav's step
gets invoked or cucumber's. If there's an infinite loop, besides the naming conflict, there might also be a bug in pry-nav's step
?
Do you no longer get the infinite looping if you rename the step
command like @banister showed in option 3?
I'm unable to reproduce this in a stripped down Rails environment, and I can't share the source for the project this is occurring in. If I can reproduce in a smaller environment I'll revisit this issue.
@mattwynne @daveroberts Somewhat unrelated to this issue, but I've rewritten pry-nav with a different tracing mechanism and additional features. I encourage you to try it out: https://github.com/nixme/pry-debugger