Sha256: 064547c8f4528a23b63c1d6d959213b0661a679b607552517f1cbec29b3b9203

Contents?: true

Size: 1.26 KB

Versions: 1

Compression:

Stored size: 1.26 KB

Contents

# Hara

[![Gem Version](https://badge.fury.io/rb/hara.png)](http://badge.fury.io/rb/hara)
[![Build Status](https://travis-ci.org/jjyr/hara.png?branch=master)](https://travis-ci.org/jjyr/hara)

Hara is a simple framework, help you build async & concurrent websocket server.

Hara's async ability from [em-websocket](https://github.com/igrigorik/em-websocket),

Hara's concurrent ability from [celluloid](https://github.com/celluloid/celluloid).

Yes, hara just a combination of them, eventmachine and celluloid work well together :)

## Notice!!

Current API is unstable, you should lock the version.

## Installation

Add this line to your application's Gemfile:

    gem 'hara'

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install hara

## Usage

*server*
```ruby
#test.rb
require 'hara'

class Echo < Hara::App
  define_action :echo do |str|
    socket.send str
  end
end
```

*client*
```javascript
var msg = JSON.stringify({action: 'echo',args:['hello world']})
var ws = new WebSocket('ws://localhost:3210')
ws.onmessage = function(msg){alert(msg.data)}

//after a while
ws.send(msg)
//hello world
```

*start server*
`ruby test.rb`

`ruby test.rb -h` to view options

*Other Usage*

checkout tests

## Contributing

1. Fork it
2. Feel free to send pull requests

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hara-0.2.0 README.md