add erubi to test and sinatra-contrib
This commit is contained in:
parent
e0aa37dce6
commit
2b43d84920
1
Gemfile
1
Gemfile
|
@ -53,6 +53,7 @@ if RUBY_ENGINE == "ruby"
|
|||
gem 'stylus'
|
||||
gem 'rabl'
|
||||
gem 'builder'
|
||||
gem 'erubi'
|
||||
gem 'erubis'
|
||||
gem 'haml', '>= 3.0'
|
||||
gem 'sass'
|
||||
|
|
|
@ -682,6 +682,10 @@ module Sinatra
|
|||
render(:erb, template, options, locals, &block)
|
||||
end
|
||||
|
||||
def erubi(template, options = {}, locals = {}, &block)
|
||||
render(:erubi, template, options, locals, &block)
|
||||
end
|
||||
|
||||
def erubis(template, options = {}, locals = {})
|
||||
warn "Sinatra::Templates#erubis is deprecated and will be removed, use #erb instead.\n" \
|
||||
"If you have Erubis installed, it will be used automatically."
|
||||
|
|
|
@ -86,6 +86,7 @@ module Sinatra
|
|||
|
||||
DUMMIES = {
|
||||
:haml => "!= capture_haml(*args, &block)",
|
||||
:erubi => "<% @capture = yield(*args) %>",
|
||||
:erubis => "<% @capture = yield(*args) %>",
|
||||
:slim => "== yield(*args)"
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@ module Sinatra
|
|||
# blocks inside views to be rendered later during the request. The most
|
||||
# common use is to populate different parts of your layout from your view.
|
||||
#
|
||||
# The currently supported engines are: Erb, Erubis, Haml and Slim.
|
||||
# The currently supported engines are: Erb, Erubi, Erubis, Haml and Slim.
|
||||
#
|
||||
# == Usage
|
||||
#
|
||||
|
|
|
@ -11,6 +11,15 @@ module Sinatra
|
|||
@current_engine == :erb
|
||||
end
|
||||
|
||||
# Returns true if the current engine is `:erubi`, or `Tilt[:erb]` is set
|
||||
# to Tilt::ErubisTemplate.
|
||||
#
|
||||
# @return [Boolean] Returns true if current engine is `:erubi`.
|
||||
def erubi?
|
||||
@current_engine == :erubi or
|
||||
erb? && Tilt[:erb] == Tilt::ErubiTemplate
|
||||
end
|
||||
|
||||
# Returns true if the current engine is `:erubis`, or `Tilt[:erb]` is set
|
||||
# to Tilt::ErubisTemplate.
|
||||
#
|
||||
|
|
|
@ -245,7 +245,7 @@ module Sinatra
|
|||
:css => [:less, :sass, :scss],
|
||||
:xml => [:builder, :nokogiri],
|
||||
:js => [:coffee],
|
||||
:html => [:erb, :erubis, :haml, :slim, :liquid, :radius, :mab,
|
||||
:html => [:erb, :erubi, :erubis, :haml, :slim, :liquid, :radius, :mab,
|
||||
:markdown, :textile, :rdoc],
|
||||
:all => (Sinatra::Templates.instance_methods.map(&:to_sym) +
|
||||
[:mab] - [:find_template, :markaby]),
|
||||
|
|
|
@ -45,6 +45,7 @@ EOF
|
|||
|
||||
s.add_development_dependency "rspec", "~> 3.4"
|
||||
s.add_development_dependency "haml"
|
||||
s.add_development_dependency "erubi"
|
||||
s.add_development_dependency "erubis"
|
||||
s.add_development_dependency "slim"
|
||||
s.add_development_dependency "less"
|
||||
|
|
|
@ -19,6 +19,7 @@ describe Sinatra::Capture do
|
|||
end
|
||||
|
||||
shared_examples_for "a template language" do |engine|
|
||||
lang = engine == :erubi ? :erb : engine
|
||||
lang = engine == :erubis ? :erb : engine
|
||||
require "#{engine}"
|
||||
|
||||
|
@ -33,6 +34,7 @@ describe Sinatra::Capture do
|
|||
|
||||
describe('haml') { it_behaves_like "a template language", :haml }
|
||||
describe('slim') { it_behaves_like "a template language", :slim }
|
||||
describe('erubi') { it_behaves_like "a template language", :erubi }
|
||||
describe('erubis') { it_behaves_like "a template language", :erubis }
|
||||
|
||||
describe 'erb' do
|
||||
|
|
|
@ -73,7 +73,7 @@ describe Sinatra::ContentFor do
|
|||
end
|
||||
|
||||
# TODO: liquid radius markaby builder nokogiri
|
||||
engines = %w[erb erubis haml slim]
|
||||
engines = %w[erb erubi erubis haml slim]
|
||||
|
||||
engines.each do |inner|
|
||||
describe inner.capitalize do
|
||||
|
|
|
@ -105,6 +105,14 @@ class ERBTest < Minitest::Test
|
|||
end
|
||||
end
|
||||
|
||||
begin
|
||||
require 'erubi'
|
||||
class ErubiTest < ERBTest
|
||||
def engine; Tilt::ErubiTemplate end
|
||||
end
|
||||
rescue LoadError
|
||||
warn "#{$!}: skipping erubi tests"
|
||||
end
|
||||
|
||||
begin
|
||||
require 'erubis'
|
||||
|
|
Loading…
Reference in New Issue