<commit_before>== spec_wire

A wire protocol for RSSpec and Cucumber. This  is really an object message passing protocol
over HTTP using REST and JSON for parameter encoding. The goal is to maintain a
normal workflow of test/fail/code/pass/refactor/pass or Red-Green-Refactor using
Cucumber and RSpec but writing the code to make them pass in your target language.

spec_wire can also be used with other frameworks like bacon, Shoulda, RubySpec, minitest and others.

Languages to be supported are PHP and C#. There is currently only a PHP server. Hopefully Python, Perl and C# can be
added. The reference server is in Ruby and runs on Sinatra.

== Install
sudo gem install spec_wire

Go to your target language folder and run the spec_wire command for your target language:
<code>

cd [project root]

spec_wire .

# this will copy a PHP template into the current folder.
# take note of the server_url it reports.

Configure spec_wire to point at the correct URL

cd spec/

edit spec_helper.rb

Change: config.server_url to the server url in the spec_wire message.
Or use your own.

E.g. 'http://localhost/~you/<your folder>/spec/server/server.php'

This will be automatically done in a future version.

Also do this for Cucumber if you want:

cd [project root]/features/support

edit env.rb and make the same change

</code>
You might want to bundle the server and deploy it on another host, or even a VM appliance. Just tarball the spec/server folder and untar it in the destination. The server/server.php [or whatever] should be reachable via a browser. Then edit the config.server_url to point to it.

[
if you are running a language with a non-Apache server, like Ruby,
you need to start the server:
spec/bin/server.start
]

In the spec folder, test out that everything is wired up: 

spec initial_spec.rb

This should pass.

== Usage

Now get started!

Write your specs:

Write code to make them pass.

Write your cukes.

Write code to make them pass.

Refactor!

== Resources
spec_wire on Gemcutter:
  * http://gemcutter.org/gems/spec_wire
soec_wire on Github
  * http://github.com/edhowland/spec_wire
spec_wire Google Group
  * http://groups.google.com/group/spec_wire?hl=en

== Note on Patches/Pull Requests
 
* Fork the project.
* Make your feature addition or bug fix.
* Add specs for it. This is important so I don't break it in a
  future version unintentionally.
* Commit, do not mess with rakefile, version, or history.
  (if you want to have your own version, that is fine but bump version in a
  commit by itself I can ignore when I pull)
* Send me a pull request. Bonus points for topic branches.

== Copyright

Copyright (c) 2009, 2010 <NAME>. See LICENSE for lots of details. 
<commit_msg>added yard docs and updated README.rdoc<commit_after>== spec_wire

A wire protocol for RSSpec and Cucumber. This  is really an object message passing protocol
over HTTP using REST and JSON for parameter encoding. The goal is to maintain a
normal workflow of test/fail/code/pass/refactor/pass or Red-Green-Refactor using
Cucumber and RSpec but writing the code to make them pass in your target language.

spec_wire can also be used with other frameworks like bacon, Shoulda, RubySpec, minitest and others.

Languages to be supported are PHP and C#. There is currently only a PHP server. Hopefully Python, Perl and C# can be
added. The reference server is in Ruby and runs on Sinatra.

== Install
sudo gem install spec_wire

Go to your target language folder and run the spec_wire command for your target language:
<code>

cd [project root]

spec_wire .

# this will copy a PHP template into the current folder.
# take note of the server_url it reports.

Configure spec_wire to point at the correct URL

cd spec/

edit spec_helper.rb

Change: config.server_url to the server url in the spec_wire message.
Or use your own.

E.g. 'http://localhost/~you/<your folder>/spec/server/server.php'

This will be automatically done in a future version.

Also do this for Cucumber if you want:

cd [project root]/features/support

edit env.rb and make the same change

</code>
You might want to bundle the server and deploy it on another host, or even a VM appliance. Just tarball the spec/server folder and untar it in the destination. The server/server.php [or whatever] should be reachable via a browser. Then edit the config.server_url to point to it.

[
if you are running a language with a non-Apache server, like Ruby,
you need to start the server:
spec/bin/server.start
]

In the spec folder, test out that everything is wired up: 

spec initial_spec.rb

This should pass.

== Usage

Now get started!

Write your specs:

Write code to make them pass.

Write your cukes.

Write code to make them pass.

Refactor!

== Resources
spec_wire on Gemcutter:
* http://gemcutter.org/gems/spec_wire
soec_wire on Github
* http://github.com/edhowland/spec_wire
spec_wire Google Group
* http://groups.google.com/group/spec_wire?hl=en

== Note on Patches/Pull Requests
 
* Fork the project.
* Make your feature addition or bug fix.
* Add specs for it. This is important so I don't break it in a
  future version unintentionally.
* Commit, do not mess with rakefile, version, or history.
  (if you want to have your own version, that is fine but bump version in a
  commit by itself I can ignore when I pull)
* Send me a pull request. Bonus points for topic branches.

== Copyright

Copyright (c) 2009, 2010 <NAME>. See LICENSE for lots of details. 

{'fraction_non_alphanumeric': 0.05902905479955866, 'fraction_numerical': 0.002942258183155572, 'mean_word_length': 3.8955895589558955, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1485117', 'n_tokens_mistral': 1616, 'n_tokens_neox': 1551, 'n_words': 817}