Open LTe opened 11 years ago
This is definitely an issue with Celluloid, because they overwrite Ruby's standard reflection, without preserving the old interface. The fix is rather trivial (Celluloid::Method just needs to respond to name and parameters).
Would you like to create the pull request to Celluloid, or should I?
This is definitely an issue with Celluloid, because they overwrite Ruby's standard reflection, without preserving the old interface. The fix is rather trivial (Celluloid::Method just needs to respond to name and parameters).
But when you or library will modify Method
object would be nice when Bogus
will inform developer about problems. For example:
Hey developer! Bogus depends on original Method object and probably this object has been modified which can cause problems
Or something like that :)
Would you like to create the pull request to Celluloid, or should I?
Yes I will create pull request to Celluloid
I created pull request for Celluloid https://github.com/celluloid/celluloid/pull/300
Thanks for the workaround LTe. First day yesterday using both celluloid and bogus I got hit by this.
I have problem with
Bogus
andCelluloid
. Bogus expects thatMethod
object will be respond toname
method. ButCelluloid::Method
does not respond for this method.How to reproduce:
And we can execute spec for that
I created workaround for that: https://github.com/LTe/dht/blob/master/spec/support/celluloid_method.rb
Solutions: