It cannot be done. Even if you could get to the ExpressionTree of a Ruby
lambda, the ExpressionTree would be loosely-bound as Ruby uses duck-typing,
whereas Moq expects a strongly-typed ExpressionTree so that it can figure out
the exact method that you are trying to associate some expectation with.
FWIW, Mark had also been playing with mocking, and in our discussions, we said
that the easiest mocking approach would be to use Ruby features like
method_missing, monkey-patching, etc (like rspec does). Ie. something like this:
def mock(clrInterface):
class ClrMock < clrInterface
# monkey-patch all of “clrInterface.methods" here, and redirect to the
mocking framework
end
return ClrMock.new
end
From: [email protected]
[mailto:[email protected]] On Behalf Of Ivan Porto Carrero
Sent: Sunday, May 03, 2009 3:18 AM
To: ironruby-core
Subject: [Ironruby-core] Building expressions
Hi
I'm trying to get some Moq mockery going in IronRuby but Moq expects
Expression<Func<MyObject, TReturn>> in his methods.
Is there a way to make a RubyProc/lambda return an expression or convert it to
an expression?
---
Met vriendelijke groeten - Best regards - Salutations
Ivan Porto Carrero
Author of IronRuby in Action (http://manning.com/carrero)
Steve Martin<http://www.brainyquote.com/quotes/authors/s/steve_martin.html> -
"I've got to keep breathing. It'll be my worst business mistake if I don't."
_______________________________________________
Ironruby-core mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ironruby-core