sinatra-mustache 0.3.1 → 0.3.2
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 -7
- data/.travis.yml +10 -5
- data/lib/proxies/currystache.rb +8 -4
- data/lib/sinatra-mustache/version.rb +1 -1
- data/lib/sinatra/helpers/mustache.rb +8 -8
- data/lib/tilt/mustache_template.rb +9 -9
- data/sinatra-mustache.gemspec +2 -2
- data/spec/mustache_spec.rb +46 -18
- data/spec/mustache_template_spec.rb +20 -23
- metadata +103 -82
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
5
|
-
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: ef5fa0b128fe11e4e91838f0259c3de65fa001f4
|
4
|
+
data.tar.gz: 8963decca40aa6e236f9fec4f253c511f06a8b43
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 2a69cb27f8f2262e09751d940fe6ddfdc92e45833bd7dbde78ea7d8cd6a642be54188f3028bb797bd029054b07265420cfda44eed3a62add2e1aaff069ffb305
|
7
|
+
data.tar.gz: e2bf0495389ecf7f8627d71029af7e6ca95d1f03cec032e4072fc12b02da427915403a9a314bdef16eb52e2130bd273ea3143f4b66213df955fc010ab4537334
|
data/.travis.yml
CHANGED
@@ -2,9 +2,14 @@ language: ruby
|
|
2
2
|
rvm:
|
3
3
|
- 1.9.3
|
4
4
|
- 2.0.0
|
5
|
-
- 2.1.
|
6
|
-
- rbx
|
5
|
+
- 2.1.2
|
6
|
+
- rbx-2
|
7
7
|
- jruby-19mode
|
8
|
-
- jruby-
|
9
|
-
|
10
|
-
script: bundle exec rspec
|
8
|
+
- jruby-head
|
9
|
+
|
10
|
+
script: bundle exec rspec
|
11
|
+
|
12
|
+
matrix:
|
13
|
+
allow_failures:
|
14
|
+
- rvm: rbx-2
|
15
|
+
- rvm: jruby-head
|
data/lib/proxies/currystache.rb
CHANGED
@@ -7,26 +7,30 @@ module Proxies
|
|
7
7
|
@proc = my_proc
|
8
8
|
@args = []
|
9
9
|
end
|
10
|
-
|
10
|
+
|
11
11
|
def has_key? arg
|
12
12
|
true
|
13
13
|
end
|
14
14
|
|
15
|
+
def respond_to? method, private=false
|
16
|
+
method == :to_hash
|
17
|
+
end
|
18
|
+
|
15
19
|
def call arg
|
16
20
|
args << arg
|
17
21
|
self
|
18
22
|
end
|
19
23
|
alias :[] :call
|
20
|
-
|
24
|
+
|
21
25
|
def to_s
|
22
26
|
result = proc.call(*args)
|
23
27
|
args.clear
|
24
28
|
result.to_s
|
25
29
|
end
|
26
|
-
|
30
|
+
|
27
31
|
def inspect
|
28
32
|
proc
|
29
33
|
end
|
30
34
|
|
31
35
|
end
|
32
|
-
end
|
36
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module Sinatra
|
2
2
|
module MustacheHelper
|
3
3
|
METHODS = {}
|
4
|
-
|
4
|
+
|
5
5
|
def mustache_helper *args
|
6
6
|
args.each do |arg|
|
7
7
|
if arg.is_a? Symbol
|
@@ -14,21 +14,21 @@ module Sinatra
|
|
14
14
|
end
|
15
15
|
end
|
16
16
|
alias :mustache_helpers :mustache_helper
|
17
|
-
|
17
|
+
|
18
18
|
private
|
19
|
-
|
19
|
+
|
20
20
|
def add_to_mustache_helper_methods *meths
|
21
21
|
scope = meths.last.is_a?(Module) ? meths.pop : self
|
22
22
|
meths.each do |meth|
|
23
23
|
METHODS[meth] = Proxies::Currystache.new(rebind_method!(meth, scope))
|
24
24
|
end
|
25
25
|
end
|
26
|
-
|
27
|
-
def rebind_method! meth,scope=self
|
26
|
+
|
27
|
+
def rebind_method! meth, scope=self
|
28
28
|
scope.instance_method(meth).bind(self.new!)
|
29
29
|
end
|
30
|
-
|
30
|
+
|
31
31
|
end
|
32
|
-
|
32
|
+
|
33
33
|
register MustacheHelper
|
34
|
-
end
|
34
|
+
end
|
@@ -4,7 +4,7 @@ require 'yaml'
|
|
4
4
|
|
5
5
|
module Tilt
|
6
6
|
class MustacheTemplate < Template
|
7
|
-
|
7
|
+
|
8
8
|
def initialize_engine
|
9
9
|
return if defined? ::Mustache
|
10
10
|
require_template_library 'mustache'
|
@@ -18,30 +18,30 @@ module Tilt
|
|
18
18
|
|
19
19
|
def evaluate scope, locals, &block
|
20
20
|
mustache_locals = locals.dup
|
21
|
-
|
21
|
+
|
22
22
|
template = assign_template_and_front_matter! mustache_locals, data
|
23
23
|
assign_instance_variables! mustache_locals, scope
|
24
24
|
assign_helper_methods! mustache_locals
|
25
25
|
|
26
26
|
mustache_locals[:yield] = yield if block_given?
|
27
27
|
mustache_locals[:content] = mustache_locals.fetch(:yield, '')
|
28
|
-
|
28
|
+
|
29
29
|
@output = ::Mustache.render(template, mustache_locals)
|
30
30
|
end
|
31
|
-
|
31
|
+
|
32
32
|
private
|
33
|
-
|
33
|
+
|
34
34
|
def assign_helper_methods! mustache_locals
|
35
35
|
mustache_locals.merge! Sinatra::MustacheHelper::METHODS.dup.delete_if{|k,v| mustache_locals.member?(k) }
|
36
36
|
end
|
37
|
-
|
37
|
+
|
38
38
|
def assign_instance_variables! mustache_locals, scope
|
39
39
|
scope.instance_variables.each do |instance_variable|
|
40
40
|
symbol = instance_variable.to_s.delete('@').to_sym
|
41
41
|
mustache_locals[symbol] = scope.instance_variable_get(instance_variable) unless mustache_locals.member?(symbol)
|
42
42
|
end
|
43
43
|
end
|
44
|
-
|
44
|
+
|
45
45
|
def assign_template_and_front_matter! mustache_locals, data
|
46
46
|
if yaml = data.match(/\A(\s*-{3}(.+)-{3}\s*)/m)
|
47
47
|
template = data.sub(yaml[1], '')
|
@@ -51,10 +51,10 @@ module Tilt
|
|
51
51
|
else
|
52
52
|
template = data
|
53
53
|
end
|
54
|
-
|
54
|
+
|
55
55
|
template
|
56
56
|
end
|
57
57
|
end
|
58
|
-
|
58
|
+
|
59
59
|
register 'mustache', MustacheTemplate
|
60
60
|
end
|
data/sinatra-mustache.gemspec
CHANGED
@@ -21,12 +21,12 @@ Gem::Specification.new do |s|
|
|
21
21
|
s.extensions = 'ext/mkrf_conf.rb'
|
22
22
|
|
23
23
|
s.add_dependency 'sinatra', '~> 1.3', '~> 1.4'
|
24
|
-
s.add_dependency 'mustache', '~> 0.99'
|
24
|
+
s.add_dependency 'mustache', '~> 0.99', '>= 0.99.6'
|
25
25
|
s.add_dependency 'tilt', '>= 1.3', '<= 2.0'
|
26
26
|
|
27
27
|
s.add_development_dependency 'rspec', '~> 2'
|
28
28
|
s.add_development_dependency 'rack-test', '~> 0'
|
29
|
-
|
29
|
+
|
30
30
|
if 'rbx' == RUBY_ENGINE
|
31
31
|
s.add_development_dependency 'rubysl-logger'
|
32
32
|
end
|
data/spec/mustache_spec.rb
CHANGED
@@ -16,9 +16,9 @@ describe 'sinatra-mustache', :type => :request do
|
|
16
16
|
describe "two requests" do
|
17
17
|
it "does not cache wrong" do
|
18
18
|
get '/foo'
|
19
|
-
response.body.
|
19
|
+
expect(response.body).to eq('Hello from foo!')
|
20
20
|
get '/bar'
|
21
|
-
response.body.
|
21
|
+
expect(response.body).to eq('Hello from bar!')
|
22
22
|
end
|
23
23
|
end
|
24
24
|
end
|
@@ -51,7 +51,7 @@ describe 'sinatra-mustache', :type => :request do
|
|
51
51
|
end
|
52
52
|
it "should include them and make them usable" do
|
53
53
|
get '/foo'
|
54
|
-
response.body.
|
54
|
+
expect(response.body).to eq("Hello, I am Moto Tantra and these are my friends Hazy & Lazy & Crazy! Come and join us for a Whiskey Sour or just a Beer")
|
55
55
|
end
|
56
56
|
end
|
57
57
|
|
@@ -70,7 +70,7 @@ describe 'sinatra-mustache', :type => :request do
|
|
70
70
|
end
|
71
71
|
it "should include them and make them usable" do
|
72
72
|
get '/foo'
|
73
|
-
response.body.
|
73
|
+
expect(response.body).to eq("Hello, I am Moto Tantra and these are my friends Hazy & Lazy & Crazy! Come and join us for a Whiskey Sour or just a Beer")
|
74
74
|
end
|
75
75
|
end
|
76
76
|
|
@@ -78,8 +78,12 @@ describe 'sinatra-mustache', :type => :request do
|
|
78
78
|
context 'without the :locals option' do
|
79
79
|
before(:each) { mustache_app { mustache('Hello') } }
|
80
80
|
|
81
|
-
it {
|
82
|
-
|
81
|
+
it { is_expected.to be_ok }
|
82
|
+
|
83
|
+
describe '#body' do
|
84
|
+
subject { super().body }
|
85
|
+
it { is_expected.to eq('Hello') }
|
86
|
+
end
|
83
87
|
end
|
84
88
|
|
85
89
|
context 'with :locals option' do
|
@@ -88,8 +92,12 @@ describe 'sinatra-mustache', :type => :request do
|
|
88
92
|
mustache_app { mustache('Hello {{ subject }}!', :locals => locals) }
|
89
93
|
end
|
90
94
|
|
91
|
-
it {
|
92
|
-
|
95
|
+
it { is_expected.to be_ok }
|
96
|
+
|
97
|
+
describe '#body' do
|
98
|
+
subject { super().body }
|
99
|
+
it { is_expected.to eq('Hello World!') }
|
100
|
+
end
|
93
101
|
end
|
94
102
|
|
95
103
|
context 'with an inline layout' do
|
@@ -102,8 +110,12 @@ describe 'sinatra-mustache', :type => :request do
|
|
102
110
|
get '/'
|
103
111
|
end
|
104
112
|
|
105
|
-
it {
|
106
|
-
|
113
|
+
it { is_expected.to be_ok }
|
114
|
+
|
115
|
+
describe '#body' do
|
116
|
+
subject { super().body }
|
117
|
+
it { is_expected.to eq('This is a layout!') }
|
118
|
+
end
|
107
119
|
end
|
108
120
|
|
109
121
|
context 'with a file layout' do
|
@@ -111,8 +123,12 @@ describe 'sinatra-mustache', :type => :request do
|
|
111
123
|
mustache_app { mustache('Hello World!', :layout => :layout_too) }
|
112
124
|
end
|
113
125
|
|
114
|
-
it {
|
115
|
-
|
126
|
+
it { is_expected.to be_ok }
|
127
|
+
|
128
|
+
describe '#body' do
|
129
|
+
subject { super().body }
|
130
|
+
it { is_expected.to eq("From a layout!\nHello World!\n") }
|
131
|
+
end
|
116
132
|
end
|
117
133
|
end
|
118
134
|
|
@@ -120,22 +136,34 @@ describe 'sinatra-mustache', :type => :request do
|
|
120
136
|
context 'without a layout' do
|
121
137
|
before(:each) { mustache_app { mustache :hello } }
|
122
138
|
|
123
|
-
it {
|
124
|
-
|
139
|
+
it { is_expected.to be_ok }
|
140
|
+
|
141
|
+
describe '#body' do
|
142
|
+
subject { super().body }
|
143
|
+
it { is_expected.to eq("Hello \n") }
|
144
|
+
end
|
125
145
|
end
|
126
146
|
|
127
147
|
context 'that calls a partial' do
|
128
148
|
before(:each) { mustache_app { mustache :needs_partial } }
|
129
149
|
|
130
|
-
it {
|
131
|
-
|
150
|
+
it { is_expected.to be_ok }
|
151
|
+
|
152
|
+
describe '#body' do
|
153
|
+
subject { super().body }
|
154
|
+
it { is_expected.to eq("Hello\nfrom a partial\n") }
|
155
|
+
end
|
132
156
|
end
|
133
157
|
|
134
158
|
context 'that has yaml front matter' do
|
135
159
|
before(:each) { mustache_app { mustache :yaml } }
|
136
160
|
|
137
|
-
it {
|
138
|
-
|
161
|
+
it { is_expected.to be_ok }
|
162
|
+
|
163
|
+
describe '#body' do
|
164
|
+
subject { super().body }
|
165
|
+
it { is_expected.to eq("Hello\nfrom yaml\n") }
|
166
|
+
end
|
139
167
|
end
|
140
168
|
end
|
141
169
|
end
|
@@ -4,8 +4,8 @@ describe Tilt::MustacheTemplate do
|
|
4
4
|
describe 'registered for mustache files' do
|
5
5
|
subject { Tilt::MustacheTemplate }
|
6
6
|
|
7
|
-
it {
|
8
|
-
it {
|
7
|
+
it { is_expected.to eq(Tilt['test.mustache']) }
|
8
|
+
it { is_expected.to eq(Tilt['test.html.mustache']) }
|
9
9
|
end
|
10
10
|
|
11
11
|
describe '#render' do
|
@@ -14,13 +14,13 @@ describe Tilt::MustacheTemplate do
|
|
14
14
|
context 'without locals or a scope' do
|
15
15
|
subject { template.render }
|
16
16
|
|
17
|
-
it {
|
17
|
+
it { is_expected.to eq('Hello !') }
|
18
18
|
end
|
19
19
|
|
20
20
|
context 'with locals' do
|
21
21
|
subject { template.render(Object.new, :someone => 'World') }
|
22
22
|
|
23
|
-
it {
|
23
|
+
it { is_expected.to eq('Hello World!') }
|
24
24
|
end
|
25
25
|
|
26
26
|
context 'with an objects scope' do
|
@@ -32,7 +32,7 @@ describe Tilt::MustacheTemplate do
|
|
32
32
|
|
33
33
|
subject { template.render(scope) }
|
34
34
|
|
35
|
-
it {
|
35
|
+
it { is_expected.to eq('Hello World!') }
|
36
36
|
end
|
37
37
|
|
38
38
|
context 'methods of the scope' do
|
@@ -41,7 +41,7 @@ describe Tilt::MustacheTemplate do
|
|
41
41
|
'Hello, I am {{ name.Moto.Tantra }} and these are my friends {{ friends.Hazy.Lazy.Crazy }}! Come and join us for a {{ sour_drink.Whiskey }} or just a {{ random_drink }}'
|
42
42
|
end
|
43
43
|
end
|
44
|
-
|
44
|
+
|
45
45
|
let(:scope) do
|
46
46
|
scope = Object.new
|
47
47
|
def scope.name first_name, last_name
|
@@ -58,10 +58,10 @@ describe Tilt::MustacheTemplate do
|
|
58
58
|
end
|
59
59
|
scope
|
60
60
|
end
|
61
|
-
|
61
|
+
|
62
62
|
subject { template.render(scope) }
|
63
63
|
|
64
|
-
it {
|
64
|
+
it { is_expected.to eq("Hello, I am Moto Tantra and these are my friends Hazy & Lazy & Crazy! Come and join us for a Whiskey Sour or just a Beer") }
|
65
65
|
end
|
66
66
|
|
67
67
|
context 'with both an object and locals' do
|
@@ -83,16 +83,16 @@ describe Tilt::MustacheTemplate do
|
|
83
83
|
subject { template.render(scope, locals) }
|
84
84
|
|
85
85
|
it 'locals should have precedence' do
|
86
|
-
subject.
|
86
|
+
expect(subject).to eq('Beer is great but Whisky is greater.')
|
87
87
|
end
|
88
88
|
context "with locals evaluating to false" do
|
89
89
|
let(:locals) { { :beer => 'great', :whisky => nil } }
|
90
90
|
it 'locals should still have precedence' do
|
91
|
-
subject.
|
91
|
+
expect(subject).to eq('Beer is great but Whisky is .')
|
92
92
|
end
|
93
93
|
end
|
94
94
|
end
|
95
|
-
|
95
|
+
|
96
96
|
context "data" do
|
97
97
|
let(:template) do
|
98
98
|
Tilt::MustacheTemplate.new {
|
@@ -107,32 +107,29 @@ describe Tilt::MustacheTemplate do
|
|
107
107
|
end
|
108
108
|
subject { template.render(scope, data) }
|
109
109
|
it "should not be modified through rendering" do
|
110
|
-
subject.
|
111
|
-
data.keys.map(&:to_s).sort.
|
110
|
+
expect(subject).to eq("The best beer is Gulp. The second best beer is German Schluck. The worst Whisky is Rotten Brew. The best Whisky is Barley Pure. ")
|
111
|
+
expect(data.keys.map(&:to_s).sort).to eq(%W(beers whiskies))
|
112
112
|
end
|
113
113
|
end
|
114
|
-
|
114
|
+
|
115
115
|
context "when locals are changing for the same template" do
|
116
116
|
let(:template) {
|
117
117
|
Tilt::MustacheTemplate.new {
|
118
118
|
'Beer is {{ beer }} but Whisky is {{ whisky }}.'
|
119
119
|
}
|
120
120
|
}
|
121
|
-
before(:all) do
|
122
|
-
@template = template
|
123
|
-
end
|
124
121
|
context "first time rendering" do
|
125
122
|
let(:first_locals) { { :beer => 'great', :whisky => 'greater' } }
|
126
|
-
subject {
|
123
|
+
subject { template.render(Object.new, first_locals) }
|
127
124
|
it 'should render fine' do
|
128
|
-
subject.
|
125
|
+
expect(subject).to eq('Beer is great but Whisky is greater.')
|
129
126
|
end
|
130
127
|
end
|
131
128
|
context "second time rendering with changed locals" do
|
132
129
|
let(:second_locals) { { :beer => 'nice', :whisky => 'the best' } }
|
133
|
-
subject {
|
130
|
+
subject { template.render(Object.new, second_locals) }
|
134
131
|
it 'should render fine' do
|
135
|
-
subject.
|
132
|
+
expect(subject).to eq('Beer is nice but Whisky is the best.')
|
136
133
|
end
|
137
134
|
end
|
138
135
|
end
|
@@ -141,7 +138,7 @@ describe Tilt::MustacheTemplate do
|
|
141
138
|
let(:template) { Tilt::MustacheTemplate.new { |t| 'Hello {{ yield }}!'} }
|
142
139
|
subject { template.render { 'World' } }
|
143
140
|
|
144
|
-
it {
|
141
|
+
it { is_expected.to eq('Hello World!') }
|
145
142
|
end
|
146
143
|
|
147
144
|
context 'with a template that has yaml front matter' do
|
@@ -153,7 +150,7 @@ describe Tilt::MustacheTemplate do
|
|
153
150
|
|
154
151
|
subject { template.render }
|
155
152
|
|
156
|
-
it {
|
153
|
+
it { is_expected.to eq("Hello\nfrom yaml\n") }
|
157
154
|
end
|
158
155
|
end
|
159
156
|
end
|
metadata
CHANGED
@@ -1,96 +1,115 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: sinatra-mustache
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
|
-
authors:
|
6
|
+
authors:
|
7
7
|
- Jason Campbell
|
8
8
|
- Beat Richartz
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2014-07-27 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
16
15
|
name: sinatra
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
version: "1.4"
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - "~>"
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '1.3'
|
21
|
+
- - "~>"
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: '1.4'
|
26
24
|
type: :runtime
|
27
|
-
version_requirements: *id001
|
28
|
-
- !ruby/object:Gem::Dependency
|
29
|
-
name: mustache
|
30
25
|
prerelease: false
|
31
|
-
|
32
|
-
requirements:
|
33
|
-
- - ~>
|
34
|
-
- !ruby/object:Gem::Version
|
35
|
-
version:
|
26
|
+
version_requirements: !ruby/object:Gem::Requirement
|
27
|
+
requirements:
|
28
|
+
- - "~>"
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
version: '1.3'
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.4'
|
34
|
+
- !ruby/object:Gem::Dependency
|
35
|
+
name: mustache
|
36
|
+
requirement: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0.99'
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 0.99.6
|
36
44
|
type: :runtime
|
37
|
-
version_requirements: *id002
|
38
|
-
- !ruby/object:Gem::Dependency
|
39
|
-
name: tilt
|
40
45
|
prerelease: false
|
41
|
-
|
42
|
-
requirements:
|
46
|
+
version_requirements: !ruby/object:Gem::Requirement
|
47
|
+
requirements:
|
48
|
+
- - "~>"
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: '0.99'
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 0.99.6
|
54
|
+
- !ruby/object:Gem::Dependency
|
55
|
+
name: tilt
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
43
58
|
- - ">="
|
44
|
-
-
|
45
|
-
|
46
|
-
|
47
|
-
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '1.3'
|
61
|
+
- - "<="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '2.0'
|
48
64
|
type: :runtime
|
49
|
-
version_requirements: *id004
|
50
|
-
- !ruby/object:Gem::Dependency
|
51
|
-
name: rspec
|
52
65
|
prerelease: false
|
53
|
-
|
54
|
-
requirements:
|
55
|
-
- -
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
version:
|
66
|
+
version_requirements: !ruby/object:Gem::Requirement
|
67
|
+
requirements:
|
68
|
+
- - ">="
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: '1.3'
|
71
|
+
- - "<="
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: '2.0'
|
74
|
+
- !ruby/object:Gem::Dependency
|
75
|
+
name: rspec
|
76
|
+
requirement: !ruby/object:Gem::Requirement
|
77
|
+
requirements:
|
78
|
+
- - "~>"
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: '2'
|
58
81
|
type: :development
|
59
|
-
version_requirements: *id005
|
60
|
-
- !ruby/object:Gem::Dependency
|
61
|
-
name: rack-test
|
62
82
|
prerelease: false
|
63
|
-
|
64
|
-
requirements:
|
65
|
-
- - ~>
|
66
|
-
- !ruby/object:Gem::Version
|
67
|
-
version:
|
83
|
+
version_requirements: !ruby/object:Gem::Requirement
|
84
|
+
requirements:
|
85
|
+
- - "~>"
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '2'
|
88
|
+
- !ruby/object:Gem::Dependency
|
89
|
+
name: rack-test
|
90
|
+
requirement: !ruby/object:Gem::Requirement
|
91
|
+
requirements:
|
92
|
+
- - "~>"
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: '0'
|
68
95
|
type: :development
|
69
|
-
version_requirements: *id006
|
70
|
-
- !ruby/object:Gem::Dependency
|
71
|
-
name: rubysl-logger
|
72
96
|
prerelease: false
|
73
|
-
|
74
|
-
requirements:
|
75
|
-
-
|
76
|
-
-
|
77
|
-
|
78
|
-
version: "0"
|
79
|
-
type: :development
|
80
|
-
version_requirements: *id007
|
97
|
+
version_requirements: !ruby/object:Gem::Requirement
|
98
|
+
requirements:
|
99
|
+
- - "~>"
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
81
102
|
description: Use Mustache in your Sinatra app without extra view classes
|
82
|
-
email:
|
103
|
+
email:
|
83
104
|
- attraccessor@gmail.com
|
84
105
|
executables: []
|
85
|
-
|
86
|
-
extensions:
|
106
|
+
extensions:
|
87
107
|
- ext/mkrf_conf.rb
|
88
108
|
extra_rdoc_files: []
|
89
|
-
|
90
|
-
|
91
|
-
- .
|
92
|
-
- .
|
93
|
-
- .travis.yml
|
109
|
+
files:
|
110
|
+
- ".gitignore"
|
111
|
+
- ".rspec"
|
112
|
+
- ".travis.yml"
|
94
113
|
- Changelog.md
|
95
114
|
- Gemfile
|
96
115
|
- License.txt
|
@@ -114,29 +133,30 @@ files:
|
|
114
133
|
- spec/views/needs_partial.mustache
|
115
134
|
- spec/views/yaml.mustache
|
116
135
|
homepage: http://github.com/beatrichartz/sinatra-mustache
|
117
|
-
licenses:
|
136
|
+
licenses:
|
118
137
|
- MIT
|
119
138
|
metadata: {}
|
120
|
-
|
121
139
|
post_install_message:
|
122
140
|
rdoc_options: []
|
123
|
-
|
124
|
-
require_paths:
|
141
|
+
require_paths:
|
125
142
|
- lib
|
126
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
127
|
-
requirements:
|
128
|
-
-
|
129
|
-
|
130
|
-
|
131
|
-
|
143
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
144
|
+
requirements:
|
145
|
+
- - ">="
|
146
|
+
- !ruby/object:Gem::Version
|
147
|
+
version: '0'
|
148
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
132
153
|
requirements: []
|
133
|
-
|
134
154
|
rubyforge_project: sinatra-mustache
|
135
|
-
rubygems_version: 2.2.
|
155
|
+
rubygems_version: 2.2.2
|
136
156
|
signing_key:
|
137
157
|
specification_version: 4
|
138
158
|
summary: Use Mustache in your Sinatra app without extra view classes
|
139
|
-
test_files:
|
159
|
+
test_files:
|
140
160
|
- spec/fake_template_helper.rb
|
141
161
|
- spec/mustache_spec.rb
|
142
162
|
- spec/mustache_template_spec.rb
|
@@ -147,3 +167,4 @@ test_files:
|
|
147
167
|
- spec/views/layout_too.mustache
|
148
168
|
- spec/views/needs_partial.mustache
|
149
169
|
- spec/views/yaml.mustache
|
170
|
+
has_rdoc:
|