rocketio-views 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 +7 -0
- data/.gitignore +11 -0
- data/.travis.yml +3 -0
- data/Gemfile +4 -0
- data/README.md +3 -0
- data/Rakefile +8 -0
- data/lib/rocketio-views.rb +50 -0
- data/lib/rocketio-views/controller.rb +170 -0
- data/lib/rocketio-views/engine.rb +76 -0
- data/lib/rocketio-views/layout.rb +27 -0
- data/lib/rocketio-views/layouts.rb +85 -0
- data/lib/rocketio-views/template_vars.rb +34 -0
- data/lib/rocketio-views/templates.rb +83 -0
- data/lib/rocketio-views/version.rb +5 -0
- data/rocketio.gemspec +28 -0
- data/test/b.erb +1 -0
- data/test/c.erb +1 -0
- data/test/engine_test.rb +71 -0
- data/test/index.erb +1 -0
- data/test/items.erb +1 -0
- data/test/layout.erb +1 -0
- data/test/layout_test.rb +123 -0
- data/test/layouts/master.erb +1 -0
- data/test/layouts_test.rb +145 -0
- data/test/master.erb +1 -0
- data/test/render_test.rb +104 -0
- data/test/setup.rb +32 -0
- data/test/template_vars_test.rb +106 -0
- data/test/templates/a/get.erb +1 -0
- data/test/templates/master.erb +1 -0
- data/test/templates_test.rb +146 -0
- metadata +187 -0
data/test/master.erb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
master <%= yield %> layout
|
data/test/render_test.rb
ADDED
@@ -0,0 +1,104 @@
|
|
1
|
+
require 'setup'
|
2
|
+
|
3
|
+
spec :Views do
|
4
|
+
context :cache do
|
5
|
+
|
6
|
+
engine = Tilt::ERBTemplate
|
7
|
+
path = File.expand_path('../templates/a', __FILE__)
|
8
|
+
define_method(:file) {mock_controller(:a).new.send(:find_template, path, 'get', engine)}
|
9
|
+
define_method(:read) {mock_controller(:a).new.send(:read_template, file).__id__}
|
10
|
+
define_method(:compile) {|tpl| mock_controller(:a).new.send(:compile_template, tpl, engine).__id__}
|
11
|
+
|
12
|
+
it 'resolves template path only once' do
|
13
|
+
cache_id = file.__id__
|
14
|
+
assert(file.__id__) == cache_id
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'rereads templates only when template file modified' do
|
18
|
+
cache_id = read
|
19
|
+
assert(read) == cache_id
|
20
|
+
FileUtils.touch(file)
|
21
|
+
refute(read) == cache_id
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'recompiles template only if it was modified' do
|
25
|
+
cache_id = compile('')
|
26
|
+
assert(compile('')) == cache_id
|
27
|
+
refute(compile('changed')) == cache_id
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
context :scope do
|
32
|
+
|
33
|
+
it 'uses controller instance for scope' do
|
34
|
+
app mock_controller {
|
35
|
+
before {@var = :val}
|
36
|
+
def b; render; end
|
37
|
+
}
|
38
|
+
get :b
|
39
|
+
assert(last_response).is_ok_with_body('val')
|
40
|
+
end
|
41
|
+
|
42
|
+
it 'uses custom scope' do
|
43
|
+
app mock_controller {
|
44
|
+
before {@var = :val}
|
45
|
+
def b
|
46
|
+
scope = Class.new {def initialize; @var = :vax; end}.new
|
47
|
+
render(scope: scope)
|
48
|
+
end
|
49
|
+
}
|
50
|
+
get :b
|
51
|
+
assert(last_response).is_ok_with_body('vax')
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
context :locals do
|
56
|
+
it 'makes :locals accessible via attributes' do
|
57
|
+
app mock_controller {
|
58
|
+
def c; render(locals: {var: :val}); end
|
59
|
+
}
|
60
|
+
get :c
|
61
|
+
assert(last_response).is_ok_with_body('val')
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
context 'implicit templates' do
|
66
|
+
it 'uses the folder controller resides in as default path' do
|
67
|
+
app controller = mock_controller(:a) {
|
68
|
+
def index; render end
|
69
|
+
}
|
70
|
+
get
|
71
|
+
assert(last_response).is_ok_with_body '/a'
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
context 'defined templates' do
|
76
|
+
it 'prefers defined templates over files' do
|
77
|
+
app mock_controller {
|
78
|
+
define_template(:index) {'x'}
|
79
|
+
def index; render end
|
80
|
+
}
|
81
|
+
get
|
82
|
+
assert(last_response).is_ok_with_body 'x'
|
83
|
+
end
|
84
|
+
|
85
|
+
it 'renders defined template with defined layout' do
|
86
|
+
app mock_controller {
|
87
|
+
define_template(:t) {'t'}
|
88
|
+
define_layout(:x) {'x<%= yield %>x'}
|
89
|
+
layout(:x)
|
90
|
+
def index; render(:t) end
|
91
|
+
}
|
92
|
+
get
|
93
|
+
assert(last_response).is_ok_with_body 'xtx'
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
it 'uses given block for template' do
|
98
|
+
app mock_controller {
|
99
|
+
def index; render {'x'} end
|
100
|
+
}
|
101
|
+
get
|
102
|
+
assert(last_response).is_ok_with_body 'x'
|
103
|
+
end
|
104
|
+
end
|
data/test/setup.rb
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
ENV['RACK_ENV'] = 'testing'
|
2
|
+
require 'rack/radar'
|
3
|
+
require 'pry'
|
4
|
+
require 'pry-byebug'
|
5
|
+
require 'rocketio'
|
6
|
+
|
7
|
+
$:.unshift(File.expand_path('../../lib', __FILE__))
|
8
|
+
require 'rocketio-views'
|
9
|
+
|
10
|
+
spec do
|
11
|
+
include Rack::Radar
|
12
|
+
|
13
|
+
def mock_app *controllers
|
14
|
+
RocketIO::Application.new(controllers)
|
15
|
+
end
|
16
|
+
|
17
|
+
def mock_controller path = :/, superclass = nil, &block
|
18
|
+
path, superclass = :/, path if path.is_a?(Class)
|
19
|
+
controller = Class.new(superclass || RocketIO::Controller)
|
20
|
+
controller.map(path)
|
21
|
+
controller.class_exec(&block) if block
|
22
|
+
controller
|
23
|
+
end
|
24
|
+
|
25
|
+
assert :ok, :is_ok do |response|
|
26
|
+
response.status == 200
|
27
|
+
end
|
28
|
+
|
29
|
+
assert :ok_with_body, :is_ok_with_body do |response,body|
|
30
|
+
response.status == 200 && response.body == body
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,106 @@
|
|
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
|
@@ -0,0 +1 @@
|
|
1
|
+
hi
|
@@ -0,0 +1 @@
|
|
1
|
+
-<%= yield %>-
|
@@ -0,0 +1,146 @@
|
|
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
|
metadata
ADDED
@@ -0,0 +1,187 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rocketio-views
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.4.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Slee Woo
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-08-01 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rocketio
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0.4'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0.4'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: tilt
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '2'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '2'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.7'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.7'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '10.5'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '10.5'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: tokyo
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rack-radar
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: pry
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: pry-byebug
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '3'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '3'
|
125
|
+
description: View layer for RocketIO
|
126
|
+
email:
|
127
|
+
- mail@sleewoo.com
|
128
|
+
executables: []
|
129
|
+
extensions: []
|
130
|
+
extra_rdoc_files: []
|
131
|
+
files:
|
132
|
+
- ".gitignore"
|
133
|
+
- ".pryrc"
|
134
|
+
- ".travis.yml"
|
135
|
+
- Gemfile
|
136
|
+
- README.md
|
137
|
+
- Rakefile
|
138
|
+
- lib/rocketio-views.rb
|
139
|
+
- lib/rocketio-views/controller.rb
|
140
|
+
- lib/rocketio-views/engine.rb
|
141
|
+
- lib/rocketio-views/layout.rb
|
142
|
+
- lib/rocketio-views/layouts.rb
|
143
|
+
- lib/rocketio-views/template_vars.rb
|
144
|
+
- lib/rocketio-views/templates.rb
|
145
|
+
- lib/rocketio-views/version.rb
|
146
|
+
- rocketio.gemspec
|
147
|
+
- test/b.erb
|
148
|
+
- test/c.erb
|
149
|
+
- test/engine_test.rb
|
150
|
+
- test/index.erb
|
151
|
+
- test/items.erb
|
152
|
+
- test/layout.erb
|
153
|
+
- test/layout_test.rb
|
154
|
+
- test/layouts/master.erb
|
155
|
+
- test/layouts_test.rb
|
156
|
+
- test/master.erb
|
157
|
+
- test/render_test.rb
|
158
|
+
- test/setup.rb
|
159
|
+
- test/template_vars_test.rb
|
160
|
+
- test/templates/a/get.erb
|
161
|
+
- test/templates/master.erb
|
162
|
+
- test/templates_test.rb
|
163
|
+
homepage: https://github.com/rocketio/rocketio-views
|
164
|
+
licenses:
|
165
|
+
- MIT
|
166
|
+
metadata: {}
|
167
|
+
post_install_message:
|
168
|
+
rdoc_options: []
|
169
|
+
require_paths:
|
170
|
+
- lib
|
171
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
172
|
+
requirements:
|
173
|
+
- - "~>"
|
174
|
+
- !ruby/object:Gem::Version
|
175
|
+
version: '2.2'
|
176
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ">="
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0'
|
181
|
+
requirements: []
|
182
|
+
rubyforge_project:
|
183
|
+
rubygems_version: 2.5.1
|
184
|
+
signing_key:
|
185
|
+
specification_version: 4
|
186
|
+
summary: '["rocketio-views-0.4.0", "View layer for RocketIO"]'
|
187
|
+
test_files: []
|