rocketio 0.3.0 → 0.4.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/lib/rocketio.rb +33 -38
- data/lib/rocketio/application.rb +1 -1
- data/lib/rocketio/controller.rb +18 -27
- data/lib/rocketio/controller/helpers.rb +2 -3
- data/lib/rocketio/router.rb +9 -9
- data/lib/rocketio/util.rb +0 -20
- data/lib/rocketio/version.rb +1 -1
- data/rocketio.gemspec +3 -4
- data/test/api_test.rb +0 -7
- metadata +8 -47
- data/bin/console +0 -14
- data/bin/setup +0 -7
- data/lib/rocketio/controller/render.rb +0 -167
- data/lib/rocketio/controller/render/engine.rb +0 -76
- data/lib/rocketio/controller/render/layout.rb +0 -27
- data/lib/rocketio/controller/render/layouts.rb +0 -85
- data/lib/rocketio/controller/render/template_vars.rb +0 -34
- data/lib/rocketio/controller/render/templates.rb +0 -83
- data/lib/rocketio/exceptions.rb +0 -4
- data/test/render/b.erb +0 -1
- data/test/render/c.erb +0 -1
- data/test/render/engine_test.rb +0 -71
- data/test/render/index.erb +0 -1
- data/test/render/items.erb +0 -1
- data/test/render/layout.erb +0 -1
- data/test/render/layout_test.rb +0 -123
- data/test/render/layouts/master.erb +0 -1
- data/test/render/layouts_test.rb +0 -145
- data/test/render/master.erb +0 -1
- data/test/render/render_test.rb +0 -104
- data/test/render/setup.rb +0 -14
- data/test/render/template_vars_test.rb +0 -106
- data/test/render/templates/a/get.erb +0 -1
- data/test/render/templates/master.erb +0 -1
- data/test/render/templates_test.rb +0 -146
data/test/render/setup.rb
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
require 'test/setup'
|
2
|
-
|
3
|
-
spec do
|
4
|
-
# overriding mock_controller cause when defining a controller
|
5
|
-
# caller used to set controller's dirname
|
6
|
-
# and we do not want to clobber test/ dir with template files
|
7
|
-
def mock_controller path = :/, superclass = nil, &block
|
8
|
-
path, superclass = :/, path if path.is_a?(Class)
|
9
|
-
controller = Class.new(superclass || RocketIO::Controller)
|
10
|
-
controller.map(path)
|
11
|
-
controller.class_exec(&block) if block
|
12
|
-
controller
|
13
|
-
end
|
14
|
-
end
|
@@ -1,106 +0,0 @@
|
|
1
|
-
require 'setup'
|
2
|
-
|
3
|
-
spec :template_vars do
|
4
|
-
context :compositing do
|
5
|
-
it 'inherits vars from superclass' do
|
6
|
-
a = mock_controller {
|
7
|
-
define_template_var(:a, 'a')
|
8
|
-
}
|
9
|
-
b = mock_controller(a) {}.new
|
10
|
-
assert(b.template_vars[:a]) == 'a'
|
11
|
-
end
|
12
|
-
|
13
|
-
it 'complements vars inherited from superclass' do
|
14
|
-
a = mock_controller {
|
15
|
-
define_template_var(:a, 'a')
|
16
|
-
}
|
17
|
-
b = mock_controller(a) {
|
18
|
-
define_template_var(:b, 'b')
|
19
|
-
}.new
|
20
|
-
assert(b.template_vars[:a]) == 'a'
|
21
|
-
assert(b.template_vars[:b]) == 'b'
|
22
|
-
end
|
23
|
-
|
24
|
-
it 'overrides vars inherited from superclass' do
|
25
|
-
a = mock_controller {
|
26
|
-
define_template_var(:a, 'a')
|
27
|
-
}
|
28
|
-
b = mock_controller(a) {
|
29
|
-
define_template_var(:a, 'b')
|
30
|
-
}.new
|
31
|
-
assert(b.template_vars[:a]) == 'b'
|
32
|
-
end
|
33
|
-
|
34
|
-
test '`inherit` overrides vars inherited from superclass' do
|
35
|
-
a = mock_controller {
|
36
|
-
define_template_var(:a, 'a')
|
37
|
-
}
|
38
|
-
b = mock_controller(a) {
|
39
|
-
define_template_var(:a, 'b')
|
40
|
-
}
|
41
|
-
c = mock_controller(a) {
|
42
|
-
import :template_vars, from: b
|
43
|
-
}.new
|
44
|
-
assert(c.template_vars[:a]) == 'b'
|
45
|
-
end
|
46
|
-
|
47
|
-
test '`inherit` complements vars inherited from superclass' do
|
48
|
-
a = mock_controller {
|
49
|
-
define_template_var(:a, 'a')
|
50
|
-
}
|
51
|
-
b = mock_controller(a) {
|
52
|
-
define_template_var(:b, 'b')
|
53
|
-
}
|
54
|
-
c = mock_controller(a) {
|
55
|
-
import :template_vars, from: b
|
56
|
-
}.new
|
57
|
-
assert(c.template_vars[:a]) == 'a'
|
58
|
-
assert(c.template_vars[:b]) == 'b'
|
59
|
-
end
|
60
|
-
|
61
|
-
test '`inherit` overrides defined vars' do
|
62
|
-
a = mock_controller {
|
63
|
-
define_template_var(:a, 'a')
|
64
|
-
}
|
65
|
-
b = mock_controller {
|
66
|
-
define_template_var(:a, 'b')
|
67
|
-
import :template_vars, from: a
|
68
|
-
}.new
|
69
|
-
assert(b.template_vars[:a]) == 'a'
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
context :rendering do
|
74
|
-
|
75
|
-
it 'accepts plain value via second argument' do
|
76
|
-
c = mock_controller {
|
77
|
-
define_template(:get) {'<%= x %>'}
|
78
|
-
define_template_var(:x, 'y')
|
79
|
-
}.new
|
80
|
-
assert(c.render(:get)) == 'y'
|
81
|
-
end
|
82
|
-
|
83
|
-
it 'accepts a proc as second argument' do
|
84
|
-
c = mock_controller {
|
85
|
-
define_template(:get) {'<%= x %>'}
|
86
|
-
define_template_var(:x, -> {'y'})
|
87
|
-
}.new
|
88
|
-
assert(c.render(:get)) == 'y'
|
89
|
-
end
|
90
|
-
|
91
|
-
it 'accepts a block without second argument' do
|
92
|
-
c = mock_controller {
|
93
|
-
define_template(:get) {'<%= x %>'}
|
94
|
-
define_template_var(:x) {'y'}
|
95
|
-
}.new
|
96
|
-
assert(c.render(:get)) == 'y'
|
97
|
-
end
|
98
|
-
|
99
|
-
it 'raises ArgumentError if no value nor block given' do
|
100
|
-
assert { mock_controller {
|
101
|
-
define_template_var(:x)
|
102
|
-
}}.raise(ArgumentError)
|
103
|
-
end
|
104
|
-
|
105
|
-
end
|
106
|
-
end
|
@@ -1 +0,0 @@
|
|
1
|
-
hi
|
@@ -1 +0,0 @@
|
|
1
|
-
-<%= yield %>-
|
@@ -1,146 +0,0 @@
|
|
1
|
-
require 'setup'
|
2
|
-
|
3
|
-
spec :templates do
|
4
|
-
context :compositing do
|
5
|
-
it 'inherits templates from superclass' do
|
6
|
-
a = mock_controller {
|
7
|
-
define_template(:a) {'a'}
|
8
|
-
}
|
9
|
-
b = mock_controller(a) {
|
10
|
-
}.new
|
11
|
-
assert(b.__send__ b.templates[:a]) == 'a'
|
12
|
-
end
|
13
|
-
|
14
|
-
it 'complements templates inherited from superclass' do
|
15
|
-
a = mock_controller {
|
16
|
-
define_template(:a) {'a'}
|
17
|
-
}
|
18
|
-
b = mock_controller(a) {
|
19
|
-
define_template(:b) {'b'}
|
20
|
-
}.new
|
21
|
-
assert(b.__send__ b.templates[:a]) == 'a'
|
22
|
-
assert(b.__send__ b.templates[:b]) == 'b'
|
23
|
-
end
|
24
|
-
#
|
25
|
-
it 'overrides templates inherited from superclass' do
|
26
|
-
a = mock_controller {
|
27
|
-
define_template(:x) {'a'}
|
28
|
-
}
|
29
|
-
b = mock_controller(a) {
|
30
|
-
define_template(:x) {'b'}
|
31
|
-
}.new
|
32
|
-
assert(b.__send__ b.templates[:x]) == 'b'
|
33
|
-
end
|
34
|
-
|
35
|
-
test '`inherit` overrides templates inherited from superclass' do
|
36
|
-
a = mock_controller {
|
37
|
-
define_template(:x) {'a'}
|
38
|
-
}
|
39
|
-
b = mock_controller(a) {
|
40
|
-
define_template(:x) {'b'}
|
41
|
-
}
|
42
|
-
c = mock_controller(a) {
|
43
|
-
import :templates, from: b
|
44
|
-
}.new
|
45
|
-
assert(c.__send__ c.templates[:x]) == 'b'
|
46
|
-
end
|
47
|
-
|
48
|
-
test '`inherit` complements templates inherited from superclass' do
|
49
|
-
a = mock_controller {
|
50
|
-
define_template(:a) {'a'}
|
51
|
-
}
|
52
|
-
b = mock_controller(a) {
|
53
|
-
define_template(:b) {'b'}
|
54
|
-
}
|
55
|
-
c = mock_controller(a) {
|
56
|
-
import :templates, from: b
|
57
|
-
}.new
|
58
|
-
assert(c.__send__ c.templates[:a]) == 'a'
|
59
|
-
assert(c.__send__ c.templates[:b]) == 'b'
|
60
|
-
end
|
61
|
-
|
62
|
-
test '`inherit` overrides defined templates' do
|
63
|
-
a = mock_controller {
|
64
|
-
define_template(:x) {'a'}
|
65
|
-
}
|
66
|
-
b = mock_controller {
|
67
|
-
define_template(:x) {'b'}
|
68
|
-
import :templates, from: a
|
69
|
-
}.new
|
70
|
-
assert(b.__send__ b.templates[:x]) == 'a'
|
71
|
-
end
|
72
|
-
|
73
|
-
test '`inherit` complements defined templates' do
|
74
|
-
a = mock_controller {
|
75
|
-
define_template(:a) {'a'}
|
76
|
-
}
|
77
|
-
b = mock_controller {
|
78
|
-
define_template(:b) {'b'}
|
79
|
-
import :templates, from: a
|
80
|
-
}.new
|
81
|
-
assert(b.__send__ b.templates[:a]) == 'a'
|
82
|
-
assert(b.__send__ b.templates[:b]) == 'b'
|
83
|
-
end
|
84
|
-
|
85
|
-
it 'overrides templates inherited via `inherit`' do
|
86
|
-
a = mock_controller {
|
87
|
-
define_template(:x) {'a'}
|
88
|
-
}
|
89
|
-
b = mock_controller {
|
90
|
-
import :templates, from: a
|
91
|
-
define_template(:x) {'b'}
|
92
|
-
}.new
|
93
|
-
assert(b.__send__ b.templates[:x]) == 'b'
|
94
|
-
end
|
95
|
-
end
|
96
|
-
|
97
|
-
context :rendering do
|
98
|
-
|
99
|
-
it 'uses a file with same name if only name given' do
|
100
|
-
c = mock_controller {
|
101
|
-
define_template :index
|
102
|
-
}.new
|
103
|
-
assert(c.render(:index)) == "/"
|
104
|
-
end
|
105
|
-
|
106
|
-
it 'raises a TemplateError if there is no file with same name' do
|
107
|
-
template = rand.to_s
|
108
|
-
c = mock_controller {
|
109
|
-
define_template template
|
110
|
-
}.new
|
111
|
-
assert {c.render(template)}.raise RocketIO::TemplateError
|
112
|
-
end
|
113
|
-
|
114
|
-
it 'uses given file - file resides in controller dirname' do
|
115
|
-
c = mock_controller {
|
116
|
-
define_template :get, file: :items
|
117
|
-
}.new
|
118
|
-
assert(c.render(:get)) == "items\n"
|
119
|
-
end
|
120
|
-
|
121
|
-
it 'uses given file - file resides outside controller dirname' do
|
122
|
-
c = mock_controller {
|
123
|
-
define_template :get, file: './templates/a/get'
|
124
|
-
}.new
|
125
|
-
assert(c.render(:get)) == "hi\n"
|
126
|
-
end
|
127
|
-
|
128
|
-
it 'accepts a block for given file' do
|
129
|
-
c = mock_controller {
|
130
|
-
define_template :master, file: -> {@outside ? './templates/a/get' : :items}
|
131
|
-
}.new
|
132
|
-
assert(c.render(:master)) == "items\n"
|
133
|
-
c.instance_variable_set(:@outside, true)
|
134
|
-
assert(c.render(:master)) == "hi\n"
|
135
|
-
end
|
136
|
-
|
137
|
-
it 'accepts a block and uses returned value as template without searching for file' do
|
138
|
-
c = mock_controller {
|
139
|
-
define_template(:master) {@admin ? 'admin' : 'user'}
|
140
|
-
}.new
|
141
|
-
assert(c.render(:master)) == "user"
|
142
|
-
c.instance_variable_set(:@admin, true)
|
143
|
-
assert(c.render(:master)) == "admin"
|
144
|
-
end
|
145
|
-
end
|
146
|
-
end
|