nutcracker-web 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +36 -14
- data/lib/nutcracker/web/app.rb +6 -2
- data/lib/nutcracker/web/version.rb +1 -1
- data/lib/nutcracker/web.rb +1 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d2ba21362a18931a82195835f4f7dec9c6c71b9c
|
4
|
+
data.tar.gz: 6ce0a8e41632ff29ce925f94f237d65e412a516c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8d53e928a26d68bc140db6423b35979c5e7f500d6e7c8bd6152c381624e212a580456d0d90869e13b95263dbe753a75f09ebf05b9c129fecc4f35907a6bded15
|
7
|
+
data.tar.gz: 78cf229dbb27d890a0a53b9d2f0c3a529231ec2b302403897819d1941f9a15c7b96c49be9ed272764db4641b4ab62d881bc376c6ef8db6f798231ba21051dbfe
|
data/README.md
CHANGED
@@ -1,12 +1,18 @@
|
|
1
1
|
Nutcracker Web
|
2
2
|
=============
|
3
3
|
|
4
|
-
[Nutcracker](https://github.com/kontera-technologies/nutcracker) web interface plugin
|
4
|
+
[Nutcracker](https://github.com/kontera-technologies/nutcracker) web interface plugin<br/>
|
5
|
+
<a href="https://rubygems.org/gems/nutcracker-web"><img src=https://fury-badge.herokuapp.com/rb/nutcracker-web.png></a>
|
5
6
|
|
6
|
-
<img src="https://github.com/kontera-technologies/nutcracker-web/raw/master/pics/pic1.png"/></br>
|
7
|
-
<img src="https://github.com/kontera-technologies/nutcracker-web/raw/master/pics/pic2.png"/></br>
|
8
7
|
<img src="https://github.com/kontera-technologies/nutcracker-web/raw/master/pics/pic3.png"/></br>
|
9
|
-
|
8
|
+
|
9
|
+
### Disclaimer
|
10
|
+
this project is still in its early stages, so things could be a little buggy, if you find one, feel free to [report](https://github.com/kontera-technologies/nutcracker-web/issues) it.
|
11
|
+
Also nutcracker-web only supports Redis instances for now.
|
12
|
+
|
13
|
+
### Dependencies
|
14
|
+
- Ruby 1.9+
|
15
|
+
- [nutcracker-ruby](https://github.com/kontera-technologies/nutcracker)
|
10
16
|
|
11
17
|
### Installation
|
12
18
|
add this to your Gemfile
|
@@ -20,7 +26,6 @@ $ bundle install
|
|
20
26
|
```
|
21
27
|
|
22
28
|
### Usage
|
23
|
-
example app
|
24
29
|
```ruby
|
25
30
|
require 'nutcracker'
|
26
31
|
require 'nutcracker/web'
|
@@ -29,28 +34,45 @@ require 'nutcracker/web'
|
|
29
34
|
nutcracker = Nutcracker.start(config_file: 'cluster.conf')
|
30
35
|
|
31
36
|
# Start the web service on port 1234 using Webrick
|
32
|
-
nutcracker.use(:
|
37
|
+
nutcracker.use(:web, Port: 1234)
|
33
38
|
|
34
39
|
# Sleeping....
|
35
40
|
nutcracker.join
|
36
41
|
```
|
37
42
|
|
38
|
-
|
43
|
+
you can pass default [Rack](https://github.com/rack/rack) [options](https://github.com/rack/rack/blob/master/lib/rack/server.rb#L187..L199) to `Nutcracker#use` ( like :Host, :server etc)
|
39
44
|
|
40
45
|
### Custom Webserver
|
41
|
-
|
42
|
-
|
43
|
-
```
|
44
|
-
$ gem install thin
|
45
|
-
```
|
46
|
+
to use a different webserver like [thin](http://code.macournoyer.com/thin/)
|
46
47
|
|
47
|
-
tell `Nutcracker-Web` to use it
|
48
48
|
```ruby
|
49
49
|
require 'nutcracker'
|
50
50
|
require 'nutcracker/web'
|
51
51
|
require 'thin'
|
52
52
|
|
53
53
|
nutcracker = Nutcracker.start(config_file: 'cluster.conf')
|
54
|
-
nutcracker.use(:
|
54
|
+
nutcracker.use(:web, Port: 1234, server: :thin)
|
55
55
|
nutcracker.join
|
56
56
|
```
|
57
|
+
|
58
|
+
### Developer
|
59
|
+
to run nutcracker-web with stub data
|
60
|
+
- `bundle install`
|
61
|
+
- run the `rackup` command to start the service.
|
62
|
+
- edit `example.json`.
|
63
|
+
- client Backbone app is under `assets` and the Sinatra backend is under the `lib` directory.
|
64
|
+
|
65
|
+
### Packaging & Testing
|
66
|
+
- `rake compile` : compile the assets into a single application.{js,css} file under the public directory
|
67
|
+
- `rake build` : compile the assets & builds a new gem
|
68
|
+
- `rake test` : runs the jasmine tests suite
|
69
|
+
|
70
|
+
### Warranty
|
71
|
+
This software is provided “as is” and without any express or implied warranties, including, without limitation, the implied warranties of merchantability and fitness for a particular purpose.
|
72
|
+
|
73
|
+
### More PNGs
|
74
|
+
<img src="https://github.com/kontera-technologies/nutcracker-web/raw/master/pics/pic1.png"/></br>
|
75
|
+
<hr>
|
76
|
+
<img src="https://github.com/kontera-technologies/nutcracker-web/raw/master/pics/pic2.png"/></br>
|
77
|
+
<hr>
|
78
|
+
<img src="https://github.com/kontera-technologies/nutcracker-web/raw/master/pics/pic4.png"/></br>
|
data/lib/nutcracker/web/app.rb
CHANGED
@@ -7,13 +7,18 @@ module Nutcracker
|
|
7
7
|
class App < Sinatra::Base
|
8
8
|
enable :inline_templates
|
9
9
|
set :root, File.expand_path('../'*4,__FILE__)
|
10
|
+
|
11
|
+
def initialize(nutcracker = nil)
|
12
|
+
@nutcracker = nutcracker
|
13
|
+
super()
|
14
|
+
end
|
10
15
|
|
11
16
|
get '/' do
|
12
17
|
haml :index
|
13
18
|
end
|
14
19
|
|
15
20
|
def overview
|
16
|
-
|
21
|
+
@nutcracker.overview rescue
|
17
22
|
JSON.parse File.read File.join(settings.root,"example.json")
|
18
23
|
end
|
19
24
|
|
@@ -39,7 +44,6 @@ __END__
|
|
39
44
|
%script(type='text/javascript' src='http://www.google.com/jsapi')
|
40
45
|
%script(type='text/javascript' src='assets/application.js')
|
41
46
|
%link(rel='stylesheet' href='assets/application.css')
|
42
|
-
%link(rel="shortcut icon" href="http://publishers.kontera.com/favicon.ico")
|
43
47
|
%body
|
44
48
|
= yield
|
45
49
|
|
data/lib/nutcracker/web.rb
CHANGED
@@ -3,12 +3,11 @@ require "rack"
|
|
3
3
|
module Nutcracker
|
4
4
|
module Web
|
5
5
|
def self.start(nutcracker, options = {})
|
6
|
-
$nutcracker = nutcracker
|
7
6
|
@thread = Thread.new do
|
8
7
|
Thread.current.abort_on_exception=true
|
9
8
|
Rack::Server.start(
|
10
9
|
{
|
11
|
-
:app =>
|
10
|
+
:app => App.new(nutcracker),
|
12
11
|
:environment => 'production',
|
13
12
|
:pid => nil,
|
14
13
|
:Port => 9292,
|