engine_of_war 1.1.2 → 1.2.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.
- data/engine_of_war.gemspec +1 -2
- data/lib/engine_of_war.rb +3 -1
- data/lib/engine_of_war/template_engines/filters.rb +78 -0
- data/lib/engine_of_war/template_engines/markdown.rb +12 -0
- data/lib/engine_of_war/template_engines/textile.rb +11 -0
- data/lib/engine_of_war/version.rb +1 -1
- data/spec/image_filter_spec.rb +18 -0
- data/spec/rendering_spec.rb +12 -0
- metadata +43 -52
- data/lib/engine_of_war/my_red_cloth_template.rb +0 -78
data/engine_of_war.gemspec
CHANGED
@@ -23,11 +23,10 @@ Gem::Specification.new do |gem|
|
|
23
23
|
gem.add_dependency 'haml'
|
24
24
|
gem.add_dependency 'sass', ">= 3.1.7"
|
25
25
|
gem.add_dependency "RedCloth"
|
26
|
+
gem.add_dependency "rdiscount"
|
26
27
|
gem.add_dependency "coffee-script"
|
27
|
-
gem.add_dependency "redcarpet"
|
28
28
|
|
29
29
|
gem.add_development_dependency "yard"
|
30
|
-
gem.add_development_dependency "RedCloth"
|
31
30
|
gem.add_development_dependency "rake"
|
32
31
|
gem.add_development_dependency "rspec"
|
33
32
|
gem.add_development_dependency "capybara"
|
data/lib/engine_of_war.rb
CHANGED
@@ -15,7 +15,9 @@ module EngineOfWar; end
|
|
15
15
|
|
16
16
|
require 'engine_of_war/version'
|
17
17
|
require 'engine_of_war/extensions/string'
|
18
|
-
require 'engine_of_war/
|
18
|
+
require 'engine_of_war/template_engines/filters'
|
19
|
+
require 'engine_of_war/template_engines/textile'
|
20
|
+
require 'engine_of_war/template_engines/markdown'
|
19
21
|
require 'engine_of_war/layout'
|
20
22
|
require 'engine_of_war/page'
|
21
23
|
require 'engine_of_war/page_collection'
|
@@ -0,0 +1,78 @@
|
|
1
|
+
module EngineOfWar::TemplateEngines
|
2
|
+
module Filters
|
3
|
+
BASE_IMAGE_URL = "/images"
|
4
|
+
include Padrino::Helpers::TagHelpers
|
5
|
+
|
6
|
+
def code_filter(txt)
|
7
|
+
txt.gsub(/@@@ *(\w*)\r?\n? *(.+?)\r?\n?@@@/m) do
|
8
|
+
klass = $1.present? ? " class=\"#{$1.downcase}\"" : ""
|
9
|
+
"<pre><code#{klass}>#{$2}</code></pre>"
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def image_filter(txt)
|
14
|
+
txt.gsub(/^%([<>]?)([0-9a-zA-Z_.-]+)([^%]*)%/) do
|
15
|
+
float = $1
|
16
|
+
image_id = $2
|
17
|
+
size = $3
|
18
|
+
|
19
|
+
float = :right if float == '>'
|
20
|
+
float = :left if float == '<'
|
21
|
+
|
22
|
+
uploaded_image_tag(image_id, :size => size, :float => float)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def uploaded_image_tag(image_name, opts = {})
|
27
|
+
opts.symbolize_keys
|
28
|
+
|
29
|
+
opts[:size] = "original" if opts[:size].blank?
|
30
|
+
opts[:size].strip!
|
31
|
+
|
32
|
+
basename, ext = image_name.split('.')
|
33
|
+
image_src = "#{BASE_IMAGE_URL}/#{basename}/#{opts[:size]}.#{ext}"
|
34
|
+
meta = meta_for_image(basename)
|
35
|
+
|
36
|
+
return unknown_image_tag(image_name) unless image_directory_exists?(basename)
|
37
|
+
|
38
|
+
image_options = { :src => image_src }
|
39
|
+
image_options[:class] = "float-#{opts[:float]}" if opts[:float]
|
40
|
+
image_options[:alt] = meta[:description] if meta[:description]
|
41
|
+
|
42
|
+
href = meta[:source_url]
|
43
|
+
|
44
|
+
img_tag = content_tag :img, "", image_options
|
45
|
+
if href
|
46
|
+
return "<a href='#{href}'>#{img_tag}</a>"
|
47
|
+
else
|
48
|
+
return img_tag
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
def unknown_image_tag(name)
|
53
|
+
"<div class='warning'>unknown image #{name}</div>"
|
54
|
+
end
|
55
|
+
|
56
|
+
def image_directory_exists?(basename)
|
57
|
+
File.directory?(image_basedir(basename))
|
58
|
+
end
|
59
|
+
|
60
|
+
def image_basedir(basename)
|
61
|
+
File.join(EngineOfWar::App.settings.public_folder, BASE_IMAGE_URL, basename)
|
62
|
+
end
|
63
|
+
|
64
|
+
def meta_for_image(basename)
|
65
|
+
file = File.join(image_basedir(basename), "meta.yml")
|
66
|
+
if File.exist?(file)
|
67
|
+
YAML.load_file(file).delete_if {|k, v| v.blank? }
|
68
|
+
else
|
69
|
+
{}
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
# Required to confuse padrino
|
74
|
+
def block_is_template?(_)
|
75
|
+
false
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module EngineOfWar::TemplateEngines
|
2
|
+
class Markdown < Tilt::RDiscountTemplate
|
3
|
+
Tilt.register self, "markdown"
|
4
|
+
|
5
|
+
include EngineOfWar::TemplateEngines::Filters
|
6
|
+
|
7
|
+
def prepare
|
8
|
+
@engine = RDiscount.new(image_filter(code_filter(data)))
|
9
|
+
@output = nil
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
module EngineOfWar::TemplateEngines
|
2
|
+
class Textile < Tilt::RedClothTemplate
|
3
|
+
Tilt.register self, "textile"
|
4
|
+
include EngineOfWar::TemplateEngines::Filters
|
5
|
+
|
6
|
+
def prepare
|
7
|
+
@engine = RedCloth.new(image_filter(code_filter(data)))
|
8
|
+
@output = nil
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
data/spec/image_filter_spec.rb
CHANGED
@@ -71,3 +71,21 @@ describe "given a textile template with an image link " do
|
|
71
71
|
end
|
72
72
|
end
|
73
73
|
|
74
|
+
describe "given a textile template with an image link " do
|
75
|
+
before { create_template("layouts/application.html.haml", "%h1 Layout\n= yield") }
|
76
|
+
|
77
|
+
describe "and an image link" do
|
78
|
+
before do
|
79
|
+
create_asset("images/file/original.jpg", "image data")
|
80
|
+
create_template("posts/bar.html.markdown", "# Title\n%file.jpg%\n")
|
81
|
+
end
|
82
|
+
|
83
|
+
context "the rendered page" do
|
84
|
+
before { visit "/posts/bar" }
|
85
|
+
subject { page }
|
86
|
+
|
87
|
+
it { should have_selector('img[src="/images/file/original.jpg"]') }
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
data/spec/rendering_spec.rb
CHANGED
@@ -44,6 +44,18 @@ describe "given a layout" do
|
|
44
44
|
end
|
45
45
|
end
|
46
46
|
end
|
47
|
+
|
48
|
+
describe "and a markdown template" do
|
49
|
+
before { create_template("bar.html.markdown", "# Markdown") }
|
50
|
+
|
51
|
+
context "on GET to /bar" do
|
52
|
+
before { visit "/bar" }
|
53
|
+
|
54
|
+
it "renders the template" do
|
55
|
+
page.should have_selector('h1:contains("Markdown")')
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
47
59
|
end
|
48
60
|
|
49
61
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: engine_of_war
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2012-01-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: sinatra
|
16
|
-
requirement: &
|
16
|
+
requirement: &70142151693300 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '1.3'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70142151693300
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: compass
|
27
|
-
requirement: &
|
27
|
+
requirement: &70142151692780 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70142151692780
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: padrino
|
38
|
-
requirement: &
|
38
|
+
requirement: &70142151692140 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70142151692140
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: active_support
|
49
|
-
requirement: &
|
49
|
+
requirement: &70142151691560 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70142151691560
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: builder
|
60
|
-
requirement: &
|
60
|
+
requirement: &70142151691000 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70142151691000
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: haml
|
71
|
-
requirement: &
|
71
|
+
requirement: &70142151690540 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70142151690540
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: sass
|
82
|
-
requirement: &
|
82
|
+
requirement: &70142151708880 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: 3.1.7
|
88
88
|
type: :runtime
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70142151708880
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: RedCloth
|
93
|
-
requirement: &
|
93
|
+
requirement: &70142151706980 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -98,10 +98,10 @@ dependencies:
|
|
98
98
|
version: '0'
|
99
99
|
type: :runtime
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *70142151706980
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
|
-
name:
|
104
|
-
requirement: &
|
103
|
+
name: rdiscount
|
104
|
+
requirement: &70142151704900 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
107
|
- - ! '>='
|
@@ -109,10 +109,10 @@ dependencies:
|
|
109
109
|
version: '0'
|
110
110
|
type: :runtime
|
111
111
|
prerelease: false
|
112
|
-
version_requirements: *
|
112
|
+
version_requirements: *70142151704900
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
|
-
name:
|
115
|
-
requirement: &
|
114
|
+
name: coffee-script
|
115
|
+
requirement: &70142151703820 !ruby/object:Gem::Requirement
|
116
116
|
none: false
|
117
117
|
requirements:
|
118
118
|
- - ! '>='
|
@@ -120,21 +120,10 @@ dependencies:
|
|
120
120
|
version: '0'
|
121
121
|
type: :runtime
|
122
122
|
prerelease: false
|
123
|
-
version_requirements: *
|
123
|
+
version_requirements: *70142151703820
|
124
124
|
- !ruby/object:Gem::Dependency
|
125
125
|
name: yard
|
126
|
-
requirement: &
|
127
|
-
none: false
|
128
|
-
requirements:
|
129
|
-
- - ! '>='
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '0'
|
132
|
-
type: :development
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: *70108237577620
|
135
|
-
- !ruby/object:Gem::Dependency
|
136
|
-
name: RedCloth
|
137
|
-
requirement: &70108237576260 !ruby/object:Gem::Requirement
|
126
|
+
requirement: &70142151702420 !ruby/object:Gem::Requirement
|
138
127
|
none: false
|
139
128
|
requirements:
|
140
129
|
- - ! '>='
|
@@ -142,10 +131,10 @@ dependencies:
|
|
142
131
|
version: '0'
|
143
132
|
type: :development
|
144
133
|
prerelease: false
|
145
|
-
version_requirements: *
|
134
|
+
version_requirements: *70142151702420
|
146
135
|
- !ruby/object:Gem::Dependency
|
147
136
|
name: rake
|
148
|
-
requirement: &
|
137
|
+
requirement: &70142151701340 !ruby/object:Gem::Requirement
|
149
138
|
none: false
|
150
139
|
requirements:
|
151
140
|
- - ! '>='
|
@@ -153,10 +142,10 @@ dependencies:
|
|
153
142
|
version: '0'
|
154
143
|
type: :development
|
155
144
|
prerelease: false
|
156
|
-
version_requirements: *
|
145
|
+
version_requirements: *70142151701340
|
157
146
|
- !ruby/object:Gem::Dependency
|
158
147
|
name: rspec
|
159
|
-
requirement: &
|
148
|
+
requirement: &70142151700820 !ruby/object:Gem::Requirement
|
160
149
|
none: false
|
161
150
|
requirements:
|
162
151
|
- - ! '>='
|
@@ -164,10 +153,10 @@ dependencies:
|
|
164
153
|
version: '0'
|
165
154
|
type: :development
|
166
155
|
prerelease: false
|
167
|
-
version_requirements: *
|
156
|
+
version_requirements: *70142151700820
|
168
157
|
- !ruby/object:Gem::Dependency
|
169
158
|
name: capybara
|
170
|
-
requirement: &
|
159
|
+
requirement: &70142151718580 !ruby/object:Gem::Requirement
|
171
160
|
none: false
|
172
161
|
requirements:
|
173
162
|
- - ! '>='
|
@@ -175,10 +164,10 @@ dependencies:
|
|
175
164
|
version: '0'
|
176
165
|
type: :development
|
177
166
|
prerelease: false
|
178
|
-
version_requirements: *
|
167
|
+
version_requirements: *70142151718580
|
179
168
|
- !ruby/object:Gem::Dependency
|
180
169
|
name: guard-rspec
|
181
|
-
requirement: &
|
170
|
+
requirement: &70142151717960 !ruby/object:Gem::Requirement
|
182
171
|
none: false
|
183
172
|
requirements:
|
184
173
|
- - ! '>='
|
@@ -186,10 +175,10 @@ dependencies:
|
|
186
175
|
version: '0'
|
187
176
|
type: :development
|
188
177
|
prerelease: false
|
189
|
-
version_requirements: *
|
178
|
+
version_requirements: *70142151717960
|
190
179
|
- !ruby/object:Gem::Dependency
|
191
180
|
name: guard-bundler
|
192
|
-
requirement: &
|
181
|
+
requirement: &70142151717060 !ruby/object:Gem::Requirement
|
193
182
|
none: false
|
194
183
|
requirements:
|
195
184
|
- - ! '>='
|
@@ -197,10 +186,10 @@ dependencies:
|
|
197
186
|
version: '0'
|
198
187
|
type: :development
|
199
188
|
prerelease: false
|
200
|
-
version_requirements: *
|
189
|
+
version_requirements: *70142151717060
|
201
190
|
- !ruby/object:Gem::Dependency
|
202
191
|
name: ruby_gntp
|
203
|
-
requirement: &
|
192
|
+
requirement: &70142151715400 !ruby/object:Gem::Requirement
|
204
193
|
none: false
|
205
194
|
requirements:
|
206
195
|
- - ! '>='
|
@@ -208,7 +197,7 @@ dependencies:
|
|
208
197
|
version: '0'
|
209
198
|
type: :development
|
210
199
|
prerelease: false
|
211
|
-
version_requirements: *
|
200
|
+
version_requirements: *70142151715400
|
212
201
|
description: Semi-static site engine.
|
213
202
|
email:
|
214
203
|
- us@thunderboltlabs.com
|
@@ -229,10 +218,12 @@ files:
|
|
229
218
|
- lib/engine_of_war/app.rb
|
230
219
|
- lib/engine_of_war/extensions/string.rb
|
231
220
|
- lib/engine_of_war/layout.rb
|
232
|
-
- lib/engine_of_war/my_red_cloth_template.rb
|
233
221
|
- lib/engine_of_war/page.rb
|
234
222
|
- lib/engine_of_war/page_collection.rb
|
235
223
|
- lib/engine_of_war/recommendation.rb
|
224
|
+
- lib/engine_of_war/template_engines/filters.rb
|
225
|
+
- lib/engine_of_war/template_engines/markdown.rb
|
226
|
+
- lib/engine_of_war/template_engines/textile.rb
|
236
227
|
- lib/engine_of_war/version.rb
|
237
228
|
- spec/assets_spec.rb
|
238
229
|
- spec/atom_spec.rb
|
@@ -261,7 +252,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
261
252
|
version: '0'
|
262
253
|
segments:
|
263
254
|
- 0
|
264
|
-
hash:
|
255
|
+
hash: 1663746265125056652
|
265
256
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
266
257
|
none: false
|
267
258
|
requirements:
|
@@ -270,7 +261,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
270
261
|
version: '0'
|
271
262
|
segments:
|
272
263
|
- 0
|
273
|
-
hash:
|
264
|
+
hash: 1663746265125056652
|
274
265
|
requirements: []
|
275
266
|
rubyforge_project:
|
276
267
|
rubygems_version: 1.8.11
|
@@ -1,78 +0,0 @@
|
|
1
|
-
class EngineOfWar::RedClothTemplate < Tilt::RedClothTemplate
|
2
|
-
Tilt.register self, "textile"
|
3
|
-
|
4
|
-
BASE_IMAGE_URL = "/images"
|
5
|
-
include Padrino::Helpers::TagHelpers
|
6
|
-
|
7
|
-
def prepare
|
8
|
-
@engine = RedCloth.new(image_filter(code_filter(data)))
|
9
|
-
@output = nil
|
10
|
-
end
|
11
|
-
|
12
|
-
private
|
13
|
-
|
14
|
-
def code_filter(txt)
|
15
|
-
txt.gsub(/@@@ *(\w*)\r?\n? *(.+?)\r?\n?@@@/m) do
|
16
|
-
klass = $1.present? ? " class=\"#{$1.downcase}\"" : ""
|
17
|
-
"<pre><code#{klass}>#{$2}</code></pre>"
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
def image_filter(txt)
|
22
|
-
txt.gsub(/^%([<>]?)([0-9a-zA-Z_.-]+)([^%]*)%/) do
|
23
|
-
float = $1
|
24
|
-
image_id = $2
|
25
|
-
size = $3
|
26
|
-
|
27
|
-
float = :right if float == '>'
|
28
|
-
float = :left if float == '<'
|
29
|
-
|
30
|
-
uploaded_image_tag(image_id, :size => size, :float => float)
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
def uploaded_image_tag(image_name, opts = {})
|
35
|
-
opts.symbolize_keys
|
36
|
-
|
37
|
-
opts[:size] = "original" if opts[:size].blank?
|
38
|
-
opts[:size].strip!
|
39
|
-
|
40
|
-
basename, ext = image_name.split('.')
|
41
|
-
image_src = "#{BASE_IMAGE_URL}/#{basename}/#{opts[:size]}.#{ext}"
|
42
|
-
meta = meta_for_image(basename)
|
43
|
-
|
44
|
-
return "<div class='warning'>unknown image #{image_name}</div>" unless File.directory?(image_basedir(basename))
|
45
|
-
|
46
|
-
image_options = { :src => image_src }
|
47
|
-
image_options[:class] = "float-#{opts[:float]}" if opts[:float]
|
48
|
-
image_options[:alt] = meta[:description] if meta[:description]
|
49
|
-
|
50
|
-
href = meta[:source_url]
|
51
|
-
|
52
|
-
img_tag = content_tag :img, "", image_options
|
53
|
-
if href
|
54
|
-
return "<a href='#{href}'>#{img_tag}</a>"
|
55
|
-
else
|
56
|
-
return img_tag
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
|
-
def image_basedir(basename)
|
61
|
-
File.join(EngineOfWar::App.settings.public_folder, BASE_IMAGE_URL, basename)
|
62
|
-
end
|
63
|
-
|
64
|
-
def meta_for_image(basename)
|
65
|
-
file = File.join(image_basedir(basename), "meta.yml")
|
66
|
-
if File.exist?(file)
|
67
|
-
YAML.load_file(file).delete_if {|k, v| v.blank? }
|
68
|
-
else
|
69
|
-
{}
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
# Required to confuse padrino
|
74
|
-
def block_is_template?(_)
|
75
|
-
false
|
76
|
-
end
|
77
|
-
end
|
78
|
-
|