nyny 2.2.1 → 3.0.0
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/.gitignore +20 -20
- data/.rspec +2 -2
- data/.ruby-version +1 -1
- data/.travis.yml +11 -12
- data/CHANGELOG +40 -27
- data/Gemfile +8 -8
- data/LICENSE.txt +22 -22
- data/Performance.md +46 -44
- data/README.md +423 -381
- data/Rakefile +6 -6
- data/benchmark.rb +125 -125
- data/lib/nyny.rb +33 -36
- data/lib/nyny/app.rb +79 -67
- data/lib/nyny/core-ext/runner.rb +19 -19
- data/lib/nyny/core-ext/templates.rb +20 -18
- data/lib/nyny/primitives.rb +25 -25
- data/lib/nyny/request_scope.rb +43 -52
- data/lib/nyny/route.rb +40 -40
- data/lib/nyny/router.rb +44 -43
- data/lib/nyny/version.rb +3 -3
- data/nyny.gemspec +27 -26
- data/spec/app_spec.rb +248 -200
- data/spec/inheritance_spec.rb +76 -0
- data/spec/nyny_spec.rb +11 -11
- data/spec/primitives_spec.rb +33 -33
- data/spec/request_scope_spec.rb +103 -105
- data/spec/router_spec.rb +21 -21
- data/spec/runner_spec.rb +23 -22
- data/spec/spec_helper.rb +61 -58
- data/spec/templates_spec.rb +52 -52
- data/spec/views/layout.erb +6 -6
- metadata +27 -12
- data/lib/nyny/middleware_chain.rb +0 -14
data/spec/templates_spec.rb
CHANGED
@@ -1,52 +1,52 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Templates do
|
4
|
-
let (:app) do
|
5
|
-
mock_app do
|
6
|
-
get '/without_layout' do
|
7
|
-
render template('index.erb')
|
8
|
-
end
|
9
|
-
|
10
|
-
get '/with_layout' do
|
11
|
-
render template('layout.erb') do
|
12
|
-
render template('index.erb')
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
get '/instance_var' do
|
17
|
-
@foo = 'bar'
|
18
|
-
render template('instance.erb')
|
19
|
-
end
|
20
|
-
|
21
|
-
get '/local_var' do
|
22
|
-
render template('local.erb'), :foo => 'bar'
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
it 'renders correctly without layout' do
|
28
|
-
response = app.get('/without_layout')
|
29
|
-
response.body.should == '<p>Hello!</p>'
|
30
|
-
end
|
31
|
-
|
32
|
-
it 'passes a instance variable to template' do
|
33
|
-
response = app.get('/instance_var')
|
34
|
-
response.body.should == 'bar'
|
35
|
-
end
|
36
|
-
|
37
|
-
it 'passes a local variable to template' do
|
38
|
-
response = app.get('/local_var')
|
39
|
-
response.body.should == 'bar'
|
40
|
-
end
|
41
|
-
|
42
|
-
it 'renders correctly with layout' do
|
43
|
-
response = app.get('/with_layout')
|
44
|
-
|
45
|
-
rendered = Tilt.new(template('layout.erb')).render do
|
46
|
-
Tilt.new(template('index.erb')).render
|
47
|
-
end
|
48
|
-
|
49
|
-
response.body.should == rendered
|
50
|
-
end
|
51
|
-
|
52
|
-
end
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Templates do
|
4
|
+
let (:app) do
|
5
|
+
mock_app do
|
6
|
+
get '/without_layout' do
|
7
|
+
render template('index.erb')
|
8
|
+
end
|
9
|
+
|
10
|
+
get '/with_layout' do
|
11
|
+
render template('layout.erb') do
|
12
|
+
render template('index.erb')
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
get '/instance_var' do
|
17
|
+
@foo = 'bar'
|
18
|
+
render template('instance.erb')
|
19
|
+
end
|
20
|
+
|
21
|
+
get '/local_var' do
|
22
|
+
render template('local.erb'), :foo => 'bar'
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'renders correctly without layout' do
|
28
|
+
response = app.get('/without_layout')
|
29
|
+
response.body.should == '<p>Hello!</p>'
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'passes a instance variable to template' do
|
33
|
+
response = app.get('/instance_var')
|
34
|
+
response.body.should == 'bar'
|
35
|
+
end
|
36
|
+
|
37
|
+
it 'passes a local variable to template' do
|
38
|
+
response = app.get('/local_var')
|
39
|
+
response.body.should == 'bar'
|
40
|
+
end
|
41
|
+
|
42
|
+
it 'renders correctly with layout' do
|
43
|
+
response = app.get('/with_layout')
|
44
|
+
|
45
|
+
rendered = Tilt.new(template('layout.erb')).render do
|
46
|
+
Tilt.new(template('index.erb')).render
|
47
|
+
end
|
48
|
+
|
49
|
+
response.body.should == rendered
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
data/spec/views/layout.erb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
<!doctype html>
|
2
|
-
<html>
|
3
|
-
<head></head>
|
4
|
-
<body>
|
5
|
-
<%= yield %>
|
6
|
-
</body>
|
1
|
+
<!doctype html>
|
2
|
+
<html>
|
3
|
+
<head></head>
|
4
|
+
<body>
|
5
|
+
<%= yield %>
|
6
|
+
</body>
|
7
7
|
</html>
|
metadata
CHANGED
@@ -1,43 +1,57 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nyny
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrei Lisnic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-01-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rack
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 1.5.2
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 1.5.2
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rack-contrib
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ~>
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.1.0
|
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.0
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: tilt
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
30
44
|
requirements:
|
31
|
-
- -
|
45
|
+
- - ~>
|
32
46
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
47
|
+
version: 1.4.1
|
34
48
|
type: :runtime
|
35
49
|
prerelease: false
|
36
50
|
version_requirements: !ruby/object:Gem::Requirement
|
37
51
|
requirements:
|
38
|
-
- -
|
52
|
+
- - ~>
|
39
53
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
54
|
+
version: 1.4.1
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: bundler
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -102,7 +116,6 @@ files:
|
|
102
116
|
- lib/nyny/app.rb
|
103
117
|
- lib/nyny/core-ext/runner.rb
|
104
118
|
- lib/nyny/core-ext/templates.rb
|
105
|
-
- lib/nyny/middleware_chain.rb
|
106
119
|
- lib/nyny/primitives.rb
|
107
120
|
- lib/nyny/request_scope.rb
|
108
121
|
- lib/nyny/route.rb
|
@@ -110,6 +123,7 @@ files:
|
|
110
123
|
- lib/nyny/version.rb
|
111
124
|
- nyny.gemspec
|
112
125
|
- spec/app_spec.rb
|
126
|
+
- spec/inheritance_spec.rb
|
113
127
|
- spec/nyny_spec.rb
|
114
128
|
- spec/primitives_spec.rb
|
115
129
|
- spec/request_scope_spec.rb
|
@@ -141,12 +155,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
141
155
|
version: '0'
|
142
156
|
requirements: []
|
143
157
|
rubyforge_project:
|
144
|
-
rubygems_version: 2.
|
158
|
+
rubygems_version: 2.0.14
|
145
159
|
signing_key:
|
146
160
|
specification_version: 4
|
147
161
|
summary: New York, New York.
|
148
162
|
test_files:
|
149
163
|
- spec/app_spec.rb
|
164
|
+
- spec/inheritance_spec.rb
|
150
165
|
- spec/nyny_spec.rb
|
151
166
|
- spec/primitives_spec.rb
|
152
167
|
- spec/request_scope_spec.rb
|
@@ -1,14 +0,0 @@
|
|
1
|
-
module NYNY
|
2
|
-
class MiddlewareChain
|
3
|
-
def initialize middlewares, proxy
|
4
|
-
@top = middlewares.reverse.reduce (proxy) do |prev, entry|
|
5
|
-
klass, args, blk = entry
|
6
|
-
klass.new prev, *args, &blk
|
7
|
-
end
|
8
|
-
end
|
9
|
-
|
10
|
-
def call env
|
11
|
-
@top.call(env)
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|