nyara 0.0.1.pre.9 → 0.1.pre.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/nyara +3 -3
- data/changes +1 -0
- data/ext/event.c +16 -22
- data/ext/hashes.c +222 -4
- data/ext/inc/rdtsc.h +56 -0
- data/ext/inc/status_codes.inc +64 -0
- data/ext/inc/version.inc +1 -1
- data/ext/nyara.c +12 -10
- data/ext/nyara.h +5 -5
- data/ext/request.c +18 -24
- data/ext/request_parse.c +1 -1
- data/ext/route.cc +2 -4
- data/ext/url_encoded.c +51 -193
- data/lib/nyara/command.rb +39 -12
- data/lib/nyara/config.rb +10 -10
- data/lib/nyara/controller.rb +60 -14
- data/lib/nyara/cookie.rb +1 -1
- data/lib/nyara/hashes/config_hash.rb +2 -24
- data/lib/nyara/nyara.rb +33 -19
- data/lib/nyara/part.rb +7 -3
- data/lib/nyara/reload.rb +85 -0
- data/lib/nyara/request.rb +1 -1
- data/lib/nyara/route.rb +55 -19
- data/lib/nyara/templates/Gemfile +10 -1
- data/lib/nyara/templates/Rakefile +6 -1
- data/lib/nyara/templates/app/controllers/application_controller.rb +3 -0
- data/lib/nyara/templates/app/controllers/welcome_controller.rb +5 -0
- data/lib/nyara/templates/app/views/layouts/application.erb +12 -0
- data/lib/nyara/templates/app/views/welcome/index.erb +1 -0
- data/lib/nyara/templates/config/application.rb +34 -0
- data/lib/nyara/templates/config/boot.rb +4 -0
- data/lib/nyara/templates/config/development.rb +5 -0
- data/lib/nyara/templates/config/production.rb +8 -0
- data/lib/nyara/templates/config/test.rb +2 -0
- data/lib/nyara/templates/public/css/app.css +1 -0
- data/lib/nyara/templates/public/js/app.js +1 -0
- data/lib/nyara/templates/spec/spec_helper.rb +9 -0
- data/lib/nyara/test.rb +10 -2
- data/lib/nyara/view.rb +116 -67
- data/nyara.gemspec +3 -1
- data/rakefile +1 -1
- data/readme.md +1 -1
- data/spec/command_spec.rb +28 -24
- data/spec/config_spec.rb +24 -1
- data/spec/dummy/app/controllers/dummy_controller.rb +2 -0
- data/spec/dummy/app/models/dmmy_model.rb +2 -0
- data/spec/evented_io_spec.rb +2 -1
- data/spec/ext_route_spec.rb +2 -2
- data/spec/flash_spec.rb +8 -0
- data/spec/hashes_spec.rb +127 -0
- data/spec/integration_spec.rb +15 -0
- data/spec/path_helper_spec.rb +17 -5
- data/spec/performance/escape.rb +15 -4
- data/spec/performance/layout_render.rb +15 -10
- data/spec/performance/parse_accept_value.rb +24 -8
- data/spec/performance/parse_param.rb +14 -8
- data/spec/performance/performance_helper.rb +8 -21
- data/spec/performance_spec.rb +5 -4
- data/spec/route_spec.rb +7 -2
- data/spec/url_encoded_spec.rb +18 -74
- data/spec/view_spec.rb +1 -3
- data/spec/views/_partial.slim +1 -0
- data/spec/views/_partial_with_yield.erb +1 -0
- metadata +73 -43
- data/example/factorial.rb +0 -19
- data/example/hello.rb +0 -5
- data/example/project.rb +0 -11
- data/example/stream.rb +0 -14
- data/lib/nyara/controllers/public_controller.rb +0 -14
- data/lib/nyara/templates/config/session.key +0 -1
- data/tools/bench-cookie.rb +0 -22
- data/tools/foo.rb +0 -9
- data/tools/hello.rb +0 -46
- data/tools/memcheck.rb +0 -33
- data/tools/s.rb +0 -11
@@ -13,7 +13,6 @@ class MyRenderable
|
|
13
13
|
@title = "layout_render"
|
14
14
|
@items = items
|
15
15
|
end
|
16
|
-
include Nyara::Renderable
|
17
16
|
|
18
17
|
def send_chunk s
|
19
18
|
@res ||= []
|
@@ -35,18 +34,24 @@ class MyRenderable
|
|
35
34
|
end
|
36
35
|
end
|
37
36
|
|
37
|
+
def bm_nyara items
|
38
|
+
Nyara::Ext.rdtsc_start
|
39
|
+
MyRenderable.new(items).nyara_render
|
40
|
+
Nyara::Ext.rdtsc
|
41
|
+
end
|
42
|
+
|
43
|
+
def bm_tilt items
|
44
|
+
Nyara::Ext.rdtsc_start
|
45
|
+
MyRenderable.new(items).tilt_render
|
46
|
+
Nyara::Ext.rdtsc
|
47
|
+
end
|
48
|
+
|
38
49
|
# prepare data
|
39
50
|
Item = Struct.new :name, :price
|
40
51
|
items = 10.times.map do |i|
|
41
52
|
Item.new "name#{i}", i
|
42
53
|
end
|
54
|
+
bm_nyara items
|
55
|
+
bm_tilt items
|
43
56
|
|
44
|
-
|
45
|
-
MyRenderable.new(items).nyara_render
|
46
|
-
MyRenderable.new(items).tilt_render
|
47
|
-
|
48
|
-
GC.disable
|
49
|
-
|
50
|
-
nyara = bench(1000){ MyRenderable.new(items).nyara_render }
|
51
|
-
tilt = bench(1000){ MyRenderable.new(items).tilt_render }
|
52
|
-
dump nyara: nyara, tilt: tilt
|
57
|
+
dump nyara: bm_nyara(items), tilt: bm_tilt(items)
|
@@ -1,13 +1,29 @@
|
|
1
1
|
require_relative "performance_helper"
|
2
|
-
|
3
|
-
require "sinatra"
|
2
|
+
require "sinatra/base"
|
4
3
|
|
5
|
-
|
6
|
-
|
4
|
+
V = 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
|
5
|
+
E = {'HTTP_ACCEPT' => V}
|
7
6
|
|
8
|
-
|
7
|
+
def nyara
|
8
|
+
Nyara::Ext.rdtsc_start
|
9
|
+
Nyara::Ext.parse_accept_value V
|
10
|
+
Nyara::Ext.rdtsc
|
11
|
+
end
|
12
|
+
|
13
|
+
def sinatra_baseline
|
14
|
+
Nyara::Ext.rdtsc_start
|
15
|
+
Sinatra::Request.new(E.dup)
|
16
|
+
Nyara::Ext.rdtsc
|
17
|
+
end
|
18
|
+
|
19
|
+
def sinatra
|
20
|
+
Nyara::Ext.rdtsc_start
|
21
|
+
Sinatra::Request.new(E.dup).accept
|
22
|
+
Nyara::Ext.rdtsc
|
23
|
+
end
|
24
|
+
|
25
|
+
nyara
|
26
|
+
sinatra
|
27
|
+
sinatra_baseline
|
9
28
|
|
10
|
-
nyara = bench(1000){ Nyara::Ext.parse_accept_value v }
|
11
|
-
sinatra = bench_raw(1000){ Sinatra::Request.new(env.dup).accept }
|
12
|
-
sinatra_baseline = bench_raw(1000){ Sinatra::Request.new(env.dup) }
|
13
29
|
dump nyara: nyara, sinatra: (sinatra - sinatra_baseline)
|
@@ -1,18 +1,24 @@
|
|
1
1
|
require_relative "performance_helper"
|
2
2
|
require "cgi"
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
def ruby_parse param
|
4
|
+
def ruby_parse
|
5
|
+
Nyara::Ext.rdtsc_start
|
7
6
|
h = {}
|
8
|
-
param.split('&').each do |s|
|
7
|
+
$param.split('&').each do |s|
|
9
8
|
k, v = s.split '='
|
10
9
|
h[CGI.unescape(k)] = CGI.unescape(v)
|
11
10
|
end
|
11
|
+
Nyara::Ext.rdtsc
|
12
|
+
end
|
13
|
+
|
14
|
+
def nyara_parse
|
15
|
+
Nyara::Ext.rdtsc_start
|
16
|
+
Nyara::ParamHash.parse_param({}, $param)
|
17
|
+
Nyara::Ext.rdtsc
|
12
18
|
end
|
13
19
|
|
14
|
-
|
20
|
+
$param = "utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+haishin%2Frss%2Findex+%28#{CGI.escape 'マイコミジャーナル'}%29&utm_content=livedoor"
|
21
|
+
ruby_parse
|
22
|
+
nyara_parse
|
15
23
|
|
16
|
-
nyara
|
17
|
-
ruby = bench(1000){ ruby_parse param }
|
18
|
-
dump nyara: nyara, ruby: ruby
|
24
|
+
dump nyara: nyara_parse, ruby: ruby_parse
|
@@ -1,25 +1,12 @@
|
|
1
1
|
require_relative "../../lib/nyara/nyara"
|
2
2
|
|
3
|
-
# baseline is the raw loop
|
4
|
-
def bench n
|
5
|
-
t = Time.now
|
6
|
-
n.times{ yield }
|
7
|
-
cost = Time.now - t
|
8
|
-
|
9
|
-
t = Time.now
|
10
|
-
n.times{}
|
11
|
-
baseline = Time.now - t
|
12
|
-
|
13
|
-
cost - baseline
|
14
|
-
end
|
15
|
-
|
16
|
-
# custom baseline
|
17
|
-
def bench_raw n
|
18
|
-
t = Time.now
|
19
|
-
n.times{ yield }
|
20
|
-
Time.now - t
|
21
|
-
end
|
22
|
-
|
23
3
|
def dump data
|
24
|
-
|
4
|
+
in_spec = ENV['NYARA_FORKED'] == 'spec'
|
5
|
+
GC.start
|
6
|
+
GC.disable
|
7
|
+
if in_spec
|
8
|
+
print Marshal.dump data
|
9
|
+
else
|
10
|
+
p data
|
11
|
+
end
|
25
12
|
end
|
data/spec/performance_spec.rb
CHANGED
@@ -9,6 +9,7 @@ describe 'performance' do
|
|
9
9
|
def bm name
|
10
10
|
bm = __dir__ + '/performance/' + name + '.rb'
|
11
11
|
assert File.exist?(bm), "file not found: #{bm}"
|
12
|
+
ENV['NYARA_FORKED'] = 'spec'
|
12
13
|
res = IO.popen ['ruby', bm] do |io|
|
13
14
|
data = io.read
|
14
15
|
Marshal.load data
|
@@ -19,17 +20,17 @@ describe 'performance' do
|
|
19
20
|
|
20
21
|
it "[parse_accept_value] faster than sinatra" do
|
21
22
|
res = bm 'parse_accept_value'
|
22
|
-
assert res[:nyara] *
|
23
|
+
assert res[:nyara] * 10 < res[:sinatra], res.inspect
|
23
24
|
end
|
24
25
|
|
25
26
|
it "[parse_param] faster than parse in pure ruby" do
|
26
27
|
res = bm 'parse_param'
|
27
|
-
assert res[:nyara] *
|
28
|
+
assert res[:nyara] * 7 < res[:ruby], res.inspect
|
28
29
|
end
|
29
30
|
|
30
|
-
it "[layout_render]
|
31
|
+
it "[layout_render] nearly as fast as using tilt..." do
|
31
32
|
res = bm 'layout_render'
|
32
|
-
assert res[:nyara] *
|
33
|
+
assert res[:nyara] * 0.9 < res[:tilt], res.inspect
|
33
34
|
end
|
34
35
|
|
35
36
|
it "[escape] faster than CGI.escape" do
|
data/spec/route_spec.rb
CHANGED
@@ -22,7 +22,7 @@ module Nyara
|
|
22
22
|
@r.path = '/a/%d/b'
|
23
23
|
@r.compile :controller_stub, '/scope'
|
24
24
|
assert_equal "/scope/a/", @r.prefix
|
25
|
-
assert_equal "^(
|
25
|
+
assert_equal "^(-?\\d+)/b$", @r.suffix
|
26
26
|
assert_equal [:to_i], @r.conv
|
27
27
|
end
|
28
28
|
|
@@ -52,7 +52,7 @@ module Nyara
|
|
52
52
|
end
|
53
53
|
|
54
54
|
it "#compile_re with utf-8 chars" do
|
55
|
-
re, conv = @r.compile_re '
|
55
|
+
re, conv = @r.compile_re '/目录/%.3da/也可以'
|
56
56
|
assert_equal [:to_i], conv
|
57
57
|
s = "/目录/12a/也可以"
|
58
58
|
assert_equal [s, '12'], s.match(Regexp.new re).to_a
|
@@ -125,5 +125,10 @@ module Nyara
|
|
125
125
|
assert_equal '.b:C', s
|
126
126
|
end
|
127
127
|
end
|
128
|
+
|
129
|
+
it ".print_routes" do
|
130
|
+
out = stdout { Route.print_routes }
|
131
|
+
assert_include(out, "all routes:")
|
132
|
+
end
|
128
133
|
end
|
129
134
|
end
|
data/spec/url_encoded_spec.rb
CHANGED
@@ -14,59 +14,29 @@ module Nyara
|
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
assert_equal({'a' => 'b'}, parse('a=b', nested))
|
23
|
-
end
|
24
|
-
|
25
|
-
it "param seg end with '='" do
|
26
|
-
assert_equal({'a' => ''}, parse('a=', nested))
|
27
|
-
end
|
28
|
-
|
29
|
-
it "param seg begin with '='" do
|
30
|
-
assert_equal({'' => 'b'}, parse('=b', nested))
|
31
|
-
end
|
32
|
-
|
33
|
-
it "param seg without value" do
|
34
|
-
assert_equal({'a' => ''}, parse('a', nested))
|
35
|
-
end
|
36
|
-
|
37
|
-
it "raises error" do
|
38
|
-
assert_raise ArgumentError do
|
39
|
-
parse 'a=&b'
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
17
|
+
context "Ext.decode_uri_kv" do
|
18
|
+
it "empty k" do
|
19
|
+
k, v = Ext.decode_uri_kv "=b"
|
20
|
+
assert_equal '', k
|
21
|
+
assert_equal 'b', v
|
43
22
|
end
|
44
23
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
it 'allows "[]" as input' do
|
52
|
-
res = {""=>[""]}
|
53
|
-
assert_equal res, Ext.parse_url_encoded_seg({}, "[]", true)
|
54
|
-
end
|
55
|
-
|
56
|
-
it 'ignores empty input' do
|
57
|
-
res = {}
|
58
|
-
assert_equal res, Ext.parse_url_encoded_seg({}, "", true)
|
59
|
-
end
|
24
|
+
it "empty v" do
|
25
|
+
k, v = Ext.decode_uri_kv "a="
|
26
|
+
assert_equal 'a', k
|
27
|
+
assert_equal '', v
|
28
|
+
end
|
60
29
|
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
30
|
+
it "without '='" do
|
31
|
+
k, v = Ext.decode_uri_kv "a"
|
32
|
+
assert_equal 'a', k
|
33
|
+
assert_equal '', v
|
65
34
|
end
|
66
35
|
|
67
|
-
|
68
|
-
|
69
|
-
|
36
|
+
it "raises for bad kv" do
|
37
|
+
assert_raise ArgumentError do
|
38
|
+
Ext.decode_uri_kv 'a=&b'
|
39
|
+
end
|
70
40
|
end
|
71
41
|
end
|
72
42
|
|
@@ -139,31 +109,5 @@ module Nyara
|
|
139
109
|
Ext.parse_path @output, input
|
140
110
|
end
|
141
111
|
end
|
142
|
-
|
143
|
-
context "Ext.parse_cookie" do
|
144
|
-
it "parses complex cookie" do
|
145
|
-
history = CGI.escape '历史'
|
146
|
-
cookie = "pgv_pvi; pgv_si= ; pgv_pvi=som; sid=1d6c75f0 ; PLHistory=<#{history}>;"
|
147
|
-
h = Ext.parse_cookie ParamHash.new, cookie
|
148
|
-
assert_equal '1d6c75f0', h['sid']
|
149
|
-
assert_equal '', h['pgv_si']
|
150
|
-
assert_equal '', h['pgv_pvi'] # left orverrides right
|
151
|
-
assert_equal '<历史>', h['PLHistory']
|
152
|
-
end
|
153
|
-
|
154
|
-
it "parses empty cookie" do
|
155
|
-
cookie = ''
|
156
|
-
h = Ext.parse_cookie ParamHash.new, cookie
|
157
|
-
assert_empty h
|
158
|
-
end
|
159
|
-
end
|
160
|
-
|
161
|
-
context "Ext.parse_param" do
|
162
|
-
it "parses param with non-utf-8 chars" do
|
163
|
-
bad_s = CGI.escape "\xE2"
|
164
|
-
h = Ext.parse_param ParamHash.new, bad_s
|
165
|
-
assert_equal "", h["\xE2"]
|
166
|
-
end
|
167
|
-
end
|
168
112
|
end
|
169
113
|
end
|
data/spec/view_spec.rb
CHANGED
@@ -1,8 +1,6 @@
|
|
1
1
|
require_relative "spec_helper"
|
2
2
|
|
3
3
|
class RenderableMock
|
4
|
-
include Nyara::Renderable
|
5
|
-
|
6
4
|
def initialize
|
7
5
|
@result = ''
|
8
6
|
end
|
@@ -14,7 +12,7 @@ class RenderableMock
|
|
14
12
|
end
|
15
13
|
|
16
14
|
module Nyara
|
17
|
-
describe
|
15
|
+
describe View do
|
18
16
|
before :all do
|
19
17
|
Config['views'] = __dir__ + '/views'
|
20
18
|
View.init
|
@@ -0,0 +1 @@
|
|
1
|
+
| This is a partial
|
@@ -0,0 +1 @@
|
|
1
|
+
yie<% Fiber.yield %>ld
|
metadata
CHANGED
@@ -1,15 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nyara
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.1.pre.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Zete Lui
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-07-
|
12
|
-
dependencies:
|
11
|
+
date: 2013-07-17 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: tilt
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.3'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.3'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: listen
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.1.3
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.1.3
|
13
41
|
description: Fast and fuzzy ruby web framework + server
|
14
42
|
email: nobody@example.com
|
15
43
|
executables:
|
@@ -23,24 +51,24 @@ files:
|
|
23
51
|
- readme.md
|
24
52
|
- copying
|
25
53
|
- changes
|
26
|
-
- example/factorial.rb
|
27
|
-
- example/hello.rb
|
28
|
-
- example/project.rb
|
29
|
-
- example/stream.rb
|
30
54
|
- ext/extconf.rb
|
31
|
-
- lib/nyara
|
55
|
+
- lib/nyara.rb
|
32
56
|
- lib/nyara/config.rb
|
57
|
+
- lib/nyara/command.rb
|
33
58
|
- lib/nyara/controller.rb
|
34
|
-
- lib/nyara/controllers/public_controller.rb
|
35
59
|
- lib/nyara/cookie.rb
|
36
60
|
- lib/nyara/cpu_counter.rb
|
37
61
|
- lib/nyara/flash.rb
|
62
|
+
- lib/nyara/mime_types.rb
|
63
|
+
- lib/nyara/nyara.rb
|
38
64
|
- lib/nyara/hashes/config_hash.rb
|
39
65
|
- lib/nyara/hashes/header_hash.rb
|
40
66
|
- lib/nyara/hashes/param_hash.rb
|
41
|
-
- lib/nyara/
|
42
|
-
- lib/nyara/
|
67
|
+
- lib/nyara/request.rb
|
68
|
+
- lib/nyara/route.rb
|
43
69
|
- lib/nyara/part.rb
|
70
|
+
- lib/nyara/session.rb
|
71
|
+
- lib/nyara/view.rb
|
44
72
|
- lib/nyara/patches/array.rb
|
45
73
|
- lib/nyara/patches/blank.rb
|
46
74
|
- lib/nyara/patches/json.rb
|
@@ -48,59 +76,56 @@ files:
|
|
48
76
|
- lib/nyara/patches/string.rb
|
49
77
|
- lib/nyara/patches/tcp_socket.rb
|
50
78
|
- lib/nyara/patches/to_query.rb
|
51
|
-
- lib/nyara/
|
52
|
-
- lib/nyara/
|
53
|
-
- lib/nyara/
|
79
|
+
- lib/nyara/reload.rb
|
80
|
+
- lib/nyara/templates/app/controllers/application_controller.rb
|
81
|
+
- lib/nyara/templates/app/controllers/welcome_controller.rb
|
82
|
+
- lib/nyara/templates/config/application.rb
|
54
83
|
- lib/nyara/templates/config/boot.rb
|
55
84
|
- lib/nyara/templates/config/development.rb
|
56
85
|
- lib/nyara/templates/config/production.rb
|
57
86
|
- lib/nyara/templates/config/test.rb
|
58
87
|
- lib/nyara/templates/spec/spec_helper.rb
|
59
88
|
- lib/nyara/test.rb
|
60
|
-
- lib/nyara/view.rb
|
61
89
|
- lib/nyara/view_handlers/erb.rb
|
62
90
|
- lib/nyara/view_handlers/erubis.rb
|
63
91
|
- lib/nyara/view_handlers/haml.rb
|
64
92
|
- lib/nyara/view_handlers/slim.rb
|
65
|
-
-
|
93
|
+
- spec/ext_mime_match_spec.rb
|
94
|
+
- spec/ext_parse_accept_value_spec.rb
|
66
95
|
- spec/apps/connect.rb
|
96
|
+
- spec/dummy/app/controllers/dummy_controller.rb
|
97
|
+
- spec/dummy/app/models/dmmy_model.rb
|
98
|
+
- spec/ext_route_spec.rb
|
99
|
+
- spec/hashes_spec.rb
|
100
|
+
- spec/path_helper_spec.rb
|
101
|
+
- spec/request_delegate_spec.rb
|
102
|
+
- spec/request_spec.rb
|
67
103
|
- spec/command_spec.rb
|
104
|
+
- spec/route_spec.rb
|
105
|
+
- spec/session_spec.rb
|
106
|
+
- spec/spec_helper.rb
|
107
|
+
- spec/view_spec.rb
|
68
108
|
- spec/config_spec.rb
|
69
109
|
- spec/controller_spec.rb
|
70
110
|
- spec/cpu_counter_spec.rb
|
71
111
|
- spec/evented_io_spec.rb
|
72
|
-
- spec/ext_mime_match_spec.rb
|
73
|
-
- spec/ext_parse_accept_value_spec.rb
|
74
|
-
- spec/ext_route_spec.rb
|
75
112
|
- spec/flash_spec.rb
|
76
|
-
- spec/hashes_spec.rb
|
77
113
|
- spec/integration_spec.rb
|
78
114
|
- spec/mini_support_spec.rb
|
79
115
|
- spec/multipart_spec.rb
|
80
|
-
- spec/path_helper_spec.rb
|
81
116
|
- spec/performance/escape.rb
|
82
117
|
- spec/performance/layout_render.rb
|
83
118
|
- spec/performance/parse_accept_value.rb
|
84
119
|
- spec/performance/parse_param.rb
|
85
120
|
- spec/performance/performance_helper.rb
|
86
121
|
- spec/performance_spec.rb
|
87
|
-
- spec/request_delegate_spec.rb
|
88
|
-
- spec/request_spec.rb
|
89
|
-
- spec/route_spec.rb
|
90
|
-
- spec/session_spec.rb
|
91
|
-
- spec/spec_helper.rb
|
92
122
|
- spec/url_encoded_spec.rb
|
93
|
-
- spec/view_spec.rb
|
94
|
-
- tools/bench-cookie.rb
|
95
|
-
- tools/foo.rb
|
96
|
-
- tools/hello.rb
|
97
|
-
- tools/memcheck.rb
|
98
|
-
- tools/s.rb
|
99
123
|
- ext/http-parser/http_parser.h
|
100
124
|
- ext/inc/epoll.h
|
101
125
|
- ext/inc/kqueue.h
|
102
|
-
- ext/inc/status_codes.h
|
103
126
|
- ext/inc/str_intern.h
|
127
|
+
- ext/inc/rdtsc.h
|
128
|
+
- ext/inc/status_codes.h
|
104
129
|
- ext/multipart-parser-c/multipart_parser.h
|
105
130
|
- ext/nyara.h
|
106
131
|
- ext/request.h
|
@@ -117,31 +142,37 @@ files:
|
|
117
142
|
- ext/multipart_parser.c
|
118
143
|
- ext/nyara.c
|
119
144
|
- ext/request.c
|
145
|
+
- ext/url_encoded.c
|
120
146
|
- ext/request_parse.c
|
121
147
|
- ext/test_response.c
|
122
|
-
- ext/url_encoded.c
|
123
148
|
- ext/route.cc
|
149
|
+
- ext/inc/status_codes.inc
|
124
150
|
- ext/inc/version.inc
|
125
|
-
- spec/performance/layout.slim
|
126
|
-
- spec/performance/page.slim
|
127
|
-
- spec/public/empty file.html
|
128
|
-
- spec/public/index.html
|
129
|
-
- spec/raw_requests/multipart
|
130
151
|
- spec/views/edit.haml
|
131
152
|
- spec/views/edit.slim
|
132
153
|
- spec/views/index.liquid
|
133
154
|
- spec/views/invalid_layout.liquid
|
134
155
|
- spec/views/layout.erb
|
135
156
|
- spec/views/show.slim
|
157
|
+
- spec/views/_partial.slim
|
158
|
+
- spec/views/_partial_with_yield.erb
|
159
|
+
- spec/performance/layout.slim
|
160
|
+
- spec/performance/page.slim
|
161
|
+
- spec/public/empty file.html
|
162
|
+
- spec/public/index.html
|
163
|
+
- spec/raw_requests/multipart
|
136
164
|
- ext/http-parser/AUTHORS
|
137
165
|
- ext/http-parser/CONTRIBUTIONS
|
138
166
|
- ext/http-parser/LICENSE-MIT
|
139
167
|
- ext/multipart-parser-c/README.md
|
140
|
-
- lib/nyara/templates/config/database.yml
|
141
|
-
- lib/nyara/templates/config/session.key
|
142
168
|
- lib/nyara/templates/Gemfile
|
143
|
-
- lib/nyara/templates/public/robot.txt
|
144
169
|
- lib/nyara/templates/Rakefile
|
170
|
+
- lib/nyara/templates/app/views/layouts/application.erb
|
171
|
+
- lib/nyara/templates/app/views/welcome/index.erb
|
172
|
+
- lib/nyara/templates/config/database.yml
|
173
|
+
- lib/nyara/templates/public/css/app.css
|
174
|
+
- lib/nyara/templates/public/js/app.js
|
175
|
+
- lib/nyara/templates/public/robot.txt
|
145
176
|
- bin/nyara
|
146
177
|
homepage: https://github.com/luikore/nyara
|
147
178
|
licenses:
|
@@ -183,4 +214,3 @@ signing_key:
|
|
183
214
|
specification_version: 4
|
184
215
|
summary: Fast and fuzzy ruby web framework + server
|
185
216
|
test_files: []
|
186
|
-
has_rdoc:
|