<commit_before>= Prax

A pure Ruby alternative to Pow!!

Aka a Rack application spawner and proxy for simpler local development.
Calling <tt>myapp.dev</tt> and <tt>subdomain.myapp.dev</tt> with no
configuration is simpler than editing your hosts file, starting your
applications manually on port 3000, etc.

== Why?

My GNU/Linux fork of Pow[http://pow.cx/] just broke on me badly, and I
couldn't read, less write the coffeescript it's written in. I thus decided to
try writing an alternative in Ruby. Good for me, because I now have a viable
alternative, and learned a lot about TCP and UNIX sockets, the HTTP protocol,
Rack and Ruby Threads.

Also, Prax only requires Ruby and the Rack gem, both you should have already
installed if you are a Ruby Web developer.

=== Rubies

Prax has been developed with MRI Ruby 1.9.3 and newer, but should be
compatible with most Ruby engines like Rubinius 2+ and JRuby 1.7+ in 1.9
modes. Ruby 1.8 is deprecated, and no longer supported.

== Installing on GNU/Linux

First clone the repository somewhere (like <tt>/opt</tt> or
<tt>/usr/local/lib</tt>), and run the installer which will install the port
forwarding script and NSSwitch extension:

  $ git clone git://github.com/ysbaddaden/prax.git /opt/prax
  $ cd /opt/prax/ && ./bin/prax install

Now link your applications:

  $ cd ~/Work/myapp
  $ prax link

Point your browser to <tt>http://myapp.dev/</tt> and wait for your Rack
application to spawn.

To install Prax manually, or to review the installation process, please look at
the {prax-install}[https://github.com/ysbaddaden/prax/blob/master/libexec/prax-install]
script.

=== Ruby Version Managers

Prax being written in Ruby, version managers usually have problems to select
the correct version of Ruby or gemset (for RVM) to run Prax and to run your Rack
applications. You must
[configure Prax](https://github.com/ysbaddaden/prax/wiki/Ruby-Version-Managers)
to handle your version manager correctly.

=== Start Prax automatically

You may want to create a
{prax.desktop}[https://github.com/ysbaddaden/prax/blob/master/install/prax.desktop]
file in <tt>~/.config/autostart</tt> so that Prax will be started automatically<commit_msg>Fix: README is rdoc not markdown<commit_after>= Prax

A pure Ruby alternative to Pow!!

Aka a Rack application spawner and proxy for simpler local development.
Calling <tt>myapp.dev</tt> and <tt>subdomain.myapp.dev</tt> with no
configuration is simpler than editing your hosts file, starting your
applications manually on port 3000, etc.

== Why?

My GNU/Linux fork of Pow[http://pow.cx/] just broke on me badly, and I
couldn't read, less write the coffeescript it's written in. I thus decided to
try writing an alternative in Ruby. Good for me, because I now have a viable
alternative, and learned a lot about TCP and UNIX sockets, the HTTP protocol,
Rack and Ruby Threads.

Also, Prax only requires Ruby and the Rack gem, both you should have already
installed if you are a Ruby Web developer.

=== Rubies

Prax has been developed with MRI Ruby 1.9.3 and newer, but should be
compatible with most Ruby engines like Rubinius 2+ and JRuby 1.7+ in 1.9
modes. Ruby 1.8 is deprecated, and no longer supported.

== Installing on GNU/Linux

First clone the repository somewhere (like <tt>/opt</tt> or
<tt>/usr/local/lib</tt>), and run the installer which will install the port
forwarding script and NSSwitch extension:

  $ git clone git://github.com/ysbaddaden/prax.git /opt/prax
  $ cd /opt/prax/ && ./bin/prax install

Now link your applications:

  $ cd ~/Work/myapp
  $ prax link

Point your browser to <tt>http://myapp.dev/</tt> and wait for your Rack
application to spawn.

To install Prax manually, or to review the installation process, please look at
the {prax-install}[https://github.com/ysbaddaden/prax/blob/master/libexec/prax-install]
script.

=== Ruby Version Managers

Prax being written in Ruby, version managers usually have problems to select
the correct version of Ruby or gemset (for RVM) to run Prax and to run your Rack
applications. You must
{configure Prax}[https://github.com/ysbaddaden/prax/wiki/Ruby-Version-Managers]
to handle your version manager correctly.

=== Start Prax automatically

You may want to create a
{prax.desktop}[https://github.com/ysbaddaden/prax/blob/master/install/prax.desktop]
file in <tt>~/.config/autostart</tt> so that Prax will be started automatically
{'fraction_non_alphanumeric': 0.08597491448118585, 'fraction_numerical': 0.0063854047890535915, 'mean_word_length': 4.233890214797136, 'pattern_counts': {'":': 0, '<': 27, '<?xml version=': 0, '>': 27, 'https://': 6, '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': '166004', 'n_tokens_mistral': 1386, 'n_tokens_neox': 1305, 'n_words': 586}