I really, really like this. I will definitely use it at work and for my own personal projects.<p>I will admit, though, that I'm not a fan of the rspec-like broken English. I hate to bikeshed here, because I really do love this idea, but these are just the opinions of myself, nobody particularly important. Feel free to disregard them :)<p>Some find the following to be more readable by the fact that it has more English words:<p><pre><code> expect(HTTPretty.last_request).to.have.property("querystring").being.equal({
...
</code></pre>
It is in fact easy to read, but I find it very hard to write. The fact that the commands are so close to English throws me off more, because there are so many ways to construct a "sentence" that "sounds right" but is not equal to the desired command.<p><pre><code> expect(HTTPretty.last_request).to.have.property("querystring").being.equal({
expect(HTTPretty.last_request).to.have("querystring").being.equal({
expect(HTTPretty.last_request).to.have.property("querystring").equal({
expect(HTTPretty.last_request).to.have("querystring").equal({
</code></pre>
I would personally prefer something like the following. Even though it isn't as friendly to non programmers and doesn't read like English at all, it's hard to get wrong.<p><pre><code> expect(HTTPretty.last_request).querystring.equals({
</code></pre>
I obviously do not know enough about the project yet to know if there are so many potential properties (such as 'querystring') that the .property method became a structural necessity as opposed to syntactical sugar. If there aren't so many properties, I'd just hardcode them into methods/properties.<p>Once again, I really look forward to using this project, and it's perfectly okay to reject my opinions. The beauty of open source is that I can simply create a wrapper around what I dislike! :)