# \[ANN\] Dfect 0.0.0

**URL:** <https://www.ruby-forum.com/t/ann-dfect-0-0-0/165418>\
**Category:** Ruby\
**Created:** [April 13, 2009, 8:23pm UTC](https://www.ruby-forum.com/t/ann-dfect-0-0-0/165418 "2009-04-13T20:23:39Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![snk](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/d9b06d/32.png) [@snk](https://www.ruby-forum.com/u/snk)\
**Post date:** [April 13, 2009, 8:23pm UTC](https://www.ruby-forum.com/t/ann-dfect-0-0-0/165418/1 "2009-04-13T20:23:39Z")

</div>

```
                        Dfect 0.0.0

            Assertion testing library for Ruby

            http://snk.tuxfamily.org/lib/dfect

```

Dfect is an assertion testing library for Ruby that  
emphasizes a simple assertion vocabulary, instant  
debuggability of failures, and flexibility in composing  
tests.

Version 0.0.0 (2009-04-13)

This is the first public release of Dfect, which was inspired  
by [1]Philip Plumlee’s musing on alternative names for  
assertion methods.

References

1. [Verify, a very basic testing tool - Ruby - Ruby-Forum](http://www.ruby-forum.com/topic/183354#801895)

---

<div class="post-metadata">

**Author:** ![snk](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/d9b06d/32.png) [@snk](https://www.ruby-forum.com/u/snk)\
**Post date:** [April 13, 2009, 8:35pm UTC](https://www.ruby-forum.com/t/ann-dfect-0-0-0/165418/2 "2009-04-13T20:35:22Z")

</div>

Suraj K. wrote:

> inspired by [1]Philip Plumlee’s musing on alternative names for  
> assertion methods.

My apologies; I incorrectly attributed the musing to Philip Plumlee.  
The correct author of that musing is Sean O’halpin.

Sorry for the confusion.

---

<div class="post-metadata">

**Author:** ![snk](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/d9b06d/32.png) [@snk](https://www.ruby-forum.com/u/snk)\
**Post date:** [April 13, 2009, 8:46pm UTC](https://www.ruby-forum.com/t/ann-dfect-0-0-0/165418/3 "2009-04-13T20:46:07Z")

</div>

On Apr 13, 1:23 pm, Suraj K. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> ```
> Dfect 0.0.0
> 
> Assertion testing library for Ruby
> 
> http://snk.tuxfamily.org/lib/dfect
> 
> ```
> 
> Dfect is an assertion testing library for Ruby that  
> emphasizes a simple assertion vocabulary, instant  
> debuggability of failures, and flexibility in composing  
> tests.

I looked over the documentation. In my opinion, if you’re defining  
methods like \<, \>, \<\<, or \>\> and they need to be called with explicit  
obj.\< syntax, you’re doing something wrong.

> Version 0.0.0 (2009-04-13)

Why do you keep releasing gems that start at version 0.0.0?

---

<div class="post-metadata">

**Author:** ![snk](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/d9b06d/32.png) [@snk](https://www.ruby-forum.com/u/snk)\
**Post date:** [April 13, 2009, 9:02pm UTC](https://www.ruby-forum.com/t/ann-dfect-0-0-0/165418/4 "2009-04-13T21:02:37Z")

</div>

Yossef M. wrote:

> I looked over the documentation. In my opinion, if you’re defining  
> methods like \<, \>, \<\<, or \>\> and they need to be called with explicit  
> obj.\< syntax, you’re doing something wrong.

Those particular methods are module functions which do not get mixed-in,  
so there’s no harm in having them that way. In fact, the only way to  
access them from a mixed-in location is via the D constant:

# not mixed-in

Dfect .\< { puts “hello” }  
Dfect:😃 .\< { puts “hello” }

# mixed-in

include Dfect  
D .\< { puts “hello” }

# not possible

include Dfect  
self .\< { puts “hello” } # no method error “\<” for self!

As for providing a block to those methods, the alternative requires too  
much typing for my taste:

D \< lambda { puts “hello” }

> > Version 0.0.0 (2009-04-13)
> 
> Why do you keep releasing gems that start at version 0.0.0?

Because the first number in computer science is 0. 🙂

---

<div class="post-metadata">

**Author:** ![snk](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/d9b06d/32.png) [@snk](https://www.ruby-forum.com/u/snk)\
**Post date:** [April 13, 2009, 9:20pm UTC](https://www.ruby-forum.com/t/ann-dfect-0-0-0/165418/5 "2009-04-13T21:20:45Z")

</div>

Suraj K. wrote:

> Yossef M. wrote:
> 
> > > Version 0.0.0 (2009-04-13)  
> > > Why do you keep releasing gems that start at version 0.0.0?
> 
> Because the first number in computer science is 0. 🙂

0.0.0 should be reserved for the trivial gem, \<\<END  
END

(not quite serious 🙂
