Sha256: 8986d888b0fd7bc2c3934aa7433cec205ff86a88ef2fddaaaa670b7e3fcfeae2

Contents?: true

Size: 1.34 KB

Versions: 1

Compression:

Stored size: 1.34 KB

Contents

Not Yet Another Ruby Async web framework and server.

[![Build Status](https://travis-ci.org/luikore/nyara.png)](https://travis-ci.org/luikore/nyara)

- Evented IO while API remains synchrony
- Prefork production server, mixing a bit blocking operations won't block other users
- Sinatra-like http method and scanf-like http path and path helper
- Request format matcher with just `case ... when`
- Easy to stream the view with `Fiber.yield`

# Getting started

Requirement

- BSD/Linux/Mac OS X
- Ruby 2.0.0-p195 or higher (due to some syntax issues, doesn't work on 2.0.0-p0)
- GCC4.5+ or Clang

Install

```bash
gem ins --pre nyara
```

Edit a file, name it `nyahaha.rb` for example

```ruby
require 'nyara'
get '/' do
  send_string 'hello world'
end
```

And start server

```bash
ruby nyahaha.rb
```

# Documentation

- [Manual](https://github.com/luikore/nyara/wiki/Manual)
- [API doc](http://rubydoc.info/github/luikore/nyara/master/frames)
- [Building from source](https://github.com/luikore/nyara/wiki/Building)

# Caveats

- *Nyara* is not based on [rack](https://github.com/rack/rack).
- *Nyara* is not compatible with [eventmachine](https://github.com/eventmachine/eventmachine). It won't work if you add gems like [em-synchrony](https://github.com/igrigorik/em-synchrony).

# License

BSD, see [copying](https://github.com/luikore/nyara/blob/master/copying)

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
nyara-0.0.1.pre.4 readme.md