Getting Started
Version 10 (Brian Ford, 12/31/2008 09:17 AM)
| 1 | 1 | h1. Getting Started |
|
|---|---|---|---|
| 2 | 2 | Brian Ford | |
| 3 | 2 | Brian Ford | The RubySpec project aims to write a complete executable specification for the "Ruby":http://ruby-lang.org programming language that is syntax-compatible with "RSpec":http://rspec.info. RSpec is essentially a DSL (domain-specific language) for describing the behavior of code. This project contains specs that describe language syntax, "core library":http://ruby-doc.org/core classes, and "standard library":http://ruby-doc.org/stdlib classes. |
| 4 | 2 | Brian Ford | |
| 5 | 4 | Brian Ford | The specs generally serve two purposes: 1) to drive development, and 2) as a verification mechanism. These goal can sometimes be at odds. During development, the code and specs evolve together. For verification, it is desirable to have a highly stable set of specs that ideally have been audited for correctness. The specs have been extensively used and developed "BDD":http://behaviour-driven.org/ style in the "Rubinius":http://rubini.us project for almost 1.5 years with numerous contributions by other projects like "JRuby":http://jruby.codehaus.org/. Consequently, the specs have attained a high degree of stability. However, there are a number of core library classes and numerous standard library classes for which specs still need to be written. |
| 6 | 4 | Brian Ford | |
| 7 | 4 | Brian Ford | The following documents describe how the Rubinius specs are organized, the style used to write them, and special measures (guards) used to write a single body of specs that accommodates numerous different Ruby implementations. |
| 8 | 4 | Brian Ford | |
| 9 | 5 | Brian Ford | * [[Organization]] |
| 10 | 5 | Brian Ford | * [[Style Guide]] |
| 11 | 5 | Brian Ford | * [[Guards]] |
| 12 | 5 | Brian Ford | * "Runners":/wiki/mspec/Runners |
| 13 | 10 | Brian Ford | * [[Contributing]] |
