padrino-helpers 0.13.2 → 0.13.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/padrino-helpers.rb +3 -0
- data/lib/padrino-helpers/asset_tag_helpers.rb +13 -12
- data/lib/padrino-helpers/form_helpers.rb +5 -6
- data/lib/padrino-helpers/form_helpers/errors.rb +1 -1
- data/lib/padrino-helpers/format_helpers.rb +3 -3
- data/lib/padrino-helpers/number_helpers.rb +3 -3
- data/lib/padrino-helpers/output_helpers.rb +1 -1
- data/lib/padrino-helpers/output_helpers/abstract_handler.rb +1 -1
- data/lib/padrino-helpers/output_helpers/erb_handler.rb +2 -1
- data/lib/padrino-helpers/render_helpers.rb +22 -1
- data/lib/padrino-helpers/tag_helpers.rb +13 -0
- data/lib/padrino/rendering/erb_template.rb +12 -0
- data/lib/padrino/rendering/erubis_template.rb +1 -1
- data/test/helper.rb +1 -0
- data/test/test_asset_tag_helpers.rb +6 -1
- data/test/test_render_helpers.rb +38 -6
- data/test/test_rendering.rb +10 -0
- data/test/test_tag_helpers.rb +2 -0
- metadata +6 -105
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fae667093f9d16b75e8d85e0285d3c312aecb800
|
4
|
+
data.tar.gz: 989e8e9811af48ac97cab76747c9eb367ad91a8f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: de540aac4ac602e597a8f86f15a5517fc078fa93a6ad85d392c7e8a4106e4d365ce46b9159cead733851e87df240a956a92c9fa3543797f6324546424ece56c1
|
7
|
+
data.tar.gz: c26cff77011c615f9b81662ffa2e4215e864e915a454093fc693bebf23d57fda2cad5dcafa8cbcbe5b3c539385b430679f2f55607d51ce13113b05b7914dc057
|
data/lib/padrino-helpers.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
require 'padrino-support'
|
2
2
|
require 'i18n'
|
3
3
|
require 'enumerator'
|
4
|
+
|
5
|
+
# remove at 0.14
|
4
6
|
require 'padrino/rendering'
|
5
7
|
|
6
8
|
FileSet.glob_require('padrino-helpers/**/*.rb', __FILE__)
|
@@ -36,6 +38,7 @@ module Padrino
|
|
36
38
|
# end
|
37
39
|
#
|
38
40
|
def registered(app)
|
41
|
+
require 'padrino/rendering'
|
39
42
|
app.register Padrino::Rendering
|
40
43
|
app.set :default_builder, 'StandardFormBuilder' unless app.respond_to?(:default_builder)
|
41
44
|
included(app)
|
@@ -30,7 +30,7 @@ module Padrino
|
|
30
30
|
# # <div class="success">flash-success</div>
|
31
31
|
#
|
32
32
|
def flash_tag(*args)
|
33
|
-
options = args.
|
33
|
+
options = args.last.is_a?(Hash) ? args.pop : {}
|
34
34
|
bootstrap = options.delete(:bootstrap) if options[:bootstrap]
|
35
35
|
args.inject(ActiveSupport::SafeBuffer.new) do |html,kind|
|
36
36
|
flash_text = ActiveSupport::SafeBuffer.new << flash[kind]
|
@@ -75,17 +75,17 @@ module Padrino
|
|
75
75
|
# link_to('click me', '/dashboard', :method => :delete)
|
76
76
|
# # Generates <a href="/dashboard" data-method="delete" rel="nofollow">click me</a>
|
77
77
|
#
|
78
|
-
# link_to('
|
79
|
-
# # Generates <a class="blocky" href="
|
78
|
+
# link_to('/dashboard', :class => 'blocky') { 'click me' }
|
79
|
+
# # Generates <a class="blocky" href="/dashboard">click me</a>
|
80
80
|
#
|
81
81
|
# Note that you can pass :+if+ or :+unless+ conditions, but if you provide :current as
|
82
82
|
# condition padrino return true/false if the request.path_info match the given url.
|
83
83
|
#
|
84
84
|
def link_to(*args, &block)
|
85
|
-
options
|
85
|
+
options = args.last.is_a?(Hash) ? args.pop : {}
|
86
86
|
name = block_given? ? '' : args.shift
|
87
87
|
href = args.first
|
88
|
-
options = { :href => href
|
88
|
+
options = { :href => href ? escape_link(href) : '#' }.update(options)
|
89
89
|
return name unless parse_conditions(href, options)
|
90
90
|
block_given? ? content_tag(:a, options, &block) : content_tag(:a, name, options)
|
91
91
|
end
|
@@ -143,10 +143,11 @@ module Padrino
|
|
143
143
|
# # Generates: <a href="mailto:me@demo.com">My Email</a>
|
144
144
|
#
|
145
145
|
def mail_to(email, caption=nil, mail_options={})
|
146
|
-
html_options = mail_options.
|
147
|
-
mail_query = Rack::Utils.build_query(mail_options).gsub(/\+/, '%20').gsub('%40', '@')
|
148
|
-
mail_href = "mailto:#{email}"
|
149
|
-
|
146
|
+
mail_options, html_options = mail_options.partition{ |key,_| [:cc, :bcc, :subject, :body].include?(key) }
|
147
|
+
mail_query = Rack::Utils.build_query(Hash[mail_options]).gsub(/\+/, '%20').gsub('%40', '@')
|
148
|
+
mail_href = "mailto:#{email}"
|
149
|
+
mail_href << "?#{mail_query}" unless mail_query.empty?
|
150
|
+
link_to((caption || email), mail_href, Hash[html_options])
|
150
151
|
end
|
151
152
|
|
152
153
|
##
|
@@ -242,7 +243,7 @@ module Padrino
|
|
242
243
|
options = {
|
243
244
|
:rel => 'stylesheet',
|
244
245
|
:type => 'text/css'
|
245
|
-
}.update(sources.
|
246
|
+
}.update(sources.last.is_a?(Hash) ? sources.pop.symbolize_keys : {})
|
246
247
|
sources.flatten.inject(ActiveSupport::SafeBuffer.new) do |all,source|
|
247
248
|
all << tag(:link, { :href => asset_path(:css, source) }.update(options))
|
248
249
|
end
|
@@ -265,7 +266,7 @@ module Padrino
|
|
265
266
|
def javascript_include_tag(*sources)
|
266
267
|
options = {
|
267
268
|
:type => 'text/javascript'
|
268
|
-
}.update(sources.
|
269
|
+
}.update(sources.last.is_a?(Hash) ? sources.pop.symbolize_keys : {})
|
269
270
|
sources.flatten.inject(ActiveSupport::SafeBuffer.new) do |all,source|
|
270
271
|
all << content_tag(:script, nil, { :src => asset_path(:js, source) }.update(options))
|
271
272
|
end
|
@@ -314,7 +315,7 @@ module Padrino
|
|
314
315
|
#
|
315
316
|
def asset_path(kind, source = nil)
|
316
317
|
kind, source = source, kind if source.nil?
|
317
|
-
source = asset_normalize_extension(kind,
|
318
|
+
source = asset_normalize_extension(kind, escape_link(source.to_s))
|
318
319
|
return source if source =~ ABSOLUTE_URL_PATTERN || source =~ /^\//
|
319
320
|
source = File.join(asset_folder_name(kind), source)
|
320
321
|
timestamp = asset_timestamp(source)
|
@@ -90,7 +90,7 @@ module Padrino
|
|
90
90
|
#
|
91
91
|
def form_tag(url, options={}, &block)
|
92
92
|
options = {
|
93
|
-
:action => url,
|
93
|
+
:action => escape_link(url),
|
94
94
|
:protect_from_csrf => is_protected_from_csrf?,
|
95
95
|
'accept-charset' => 'UTF-8'
|
96
96
|
}.update(options)
|
@@ -143,9 +143,8 @@ module Padrino
|
|
143
143
|
# field_set_tag("Office", :class => 'office-set') { }
|
144
144
|
#
|
145
145
|
def field_set_tag(*args, &block)
|
146
|
-
options = args.
|
147
|
-
|
148
|
-
legend_html = legend_text.blank? ? ActiveSupport::SafeBuffer.new : content_tag(:legend, legend_text)
|
146
|
+
options = args.last.is_a?(Hash) ? args.pop : {}
|
147
|
+
legend_html = args.empty? ? ActiveSupport::SafeBuffer.new : content_tag(:legend, args.first)
|
149
148
|
concat_content content_tag(:fieldset, legend_html << capture_html(&block), options)
|
150
149
|
end
|
151
150
|
|
@@ -525,7 +524,7 @@ module Padrino
|
|
525
524
|
# submit_tag :class => 'btn'
|
526
525
|
#
|
527
526
|
def submit_tag(*args)
|
528
|
-
options = args.
|
527
|
+
options = args.last.is_a?(Hash) ? args.pop : {}
|
529
528
|
caption = args.length >= 1 ? args.first : "Submit"
|
530
529
|
input_tag(:submit, { :value => caption }.merge(options))
|
531
530
|
end
|
@@ -579,7 +578,7 @@ module Padrino
|
|
579
578
|
# # </form>
|
580
579
|
#
|
581
580
|
def button_to(*args, &block)
|
582
|
-
options
|
581
|
+
options = args.last.is_a?(Hash) ? args.pop : {}
|
583
582
|
name, url = *args
|
584
583
|
options['data-remote'] = 'true' if options.delete(:remote)
|
585
584
|
submit_options = options.delete(:submit_options) || {}
|
@@ -37,7 +37,7 @@ module Padrino
|
|
37
37
|
# error_messages_for :user
|
38
38
|
#
|
39
39
|
def error_messages_for(*objects)
|
40
|
-
options = objects.
|
40
|
+
options = objects.last.is_a?(Hash) ? objects.pop.symbolize_keys : {}
|
41
41
|
objects = objects.map{ |obj| resolve_object(obj) }.compact
|
42
42
|
count = objects.inject(0){ |sum, object| sum + object.errors.count }
|
43
43
|
return ActiveSupport::SafeBuffer.new if count.zero?
|
@@ -177,8 +177,8 @@ module Padrino
|
|
177
177
|
# word_wrap('Once upon a time', :line_width => 8) => "Once upon\na time"
|
178
178
|
#
|
179
179
|
def word_wrap(text, *args)
|
180
|
-
options = args.
|
181
|
-
unless args.
|
180
|
+
options = args.last.is_a?(Hash) ? args.pop : {}
|
181
|
+
unless args.empty?
|
182
182
|
options[:line_width] = args[0] || 80
|
183
183
|
end
|
184
184
|
options = { :line_width => 80 }.update(options)
|
@@ -214,7 +214,7 @@ module Padrino
|
|
214
214
|
# # => Lorem ipsum <strong class="custom">dolor</strong> sit amet
|
215
215
|
#
|
216
216
|
def highlight(text, words, *args)
|
217
|
-
options = { :highlighter => '<strong class="highlight">\1</strong>' }.update(args.
|
217
|
+
options = { :highlighter => '<strong class="highlight">\1</strong>' }.update(args.last.is_a?(Hash) ? args.pop : {})
|
218
218
|
|
219
219
|
if text.blank? || words.blank?
|
220
220
|
text
|
@@ -134,7 +134,7 @@ module Padrino
|
|
134
134
|
# # => 98 765 432,98
|
135
135
|
#
|
136
136
|
def number_with_delimiter(number, *args)
|
137
|
-
options = args.
|
137
|
+
options = args.last.is_a?(Hash) ? args.pop : {}
|
138
138
|
options.symbolize_keys!
|
139
139
|
|
140
140
|
defaults = I18n.translate(:'number.format', :locale => options[:locale], :raise => true) rescue {}
|
@@ -178,7 +178,7 @@ module Padrino
|
|
178
178
|
# # => 1.111,23
|
179
179
|
#
|
180
180
|
def number_with_precision(number, *args)
|
181
|
-
options = args.
|
181
|
+
options = args.last.is_a?(Hash) ? args.pop : {}
|
182
182
|
options.symbolize_keys!
|
183
183
|
|
184
184
|
defaults = I18n.translate(:'number.format', :locale => options[:locale], :raise => true) rescue {}
|
@@ -239,7 +239,7 @@ module Padrino
|
|
239
239
|
def number_to_human_size(number, *args)
|
240
240
|
return nil if number.nil?
|
241
241
|
|
242
|
-
options = args.
|
242
|
+
options = args.last.is_a?(Hash) ? args.pop : {}
|
243
243
|
options.symbolize_keys!
|
244
244
|
|
245
245
|
defaults = I18n.translate(:'number.format', :locale => options[:locale], :raise => true) rescue {}
|
@@ -8,7 +8,8 @@ module Padrino
|
|
8
8
|
##
|
9
9
|
# Outputs the given text to the templates buffer directly.
|
10
10
|
#
|
11
|
-
def concat_to_template(text="")
|
11
|
+
def concat_to_template(text="", context=nil)
|
12
|
+
return text if context && context.eval("@__in_ruby_literal")
|
12
13
|
output_buffer << text
|
13
14
|
nil
|
14
15
|
end
|
@@ -34,7 +34,7 @@ module Padrino
|
|
34
34
|
options = { :locals => {}, :layout => false }.update(options)
|
35
35
|
explicit_engine = options.delete(:engine)
|
36
36
|
|
37
|
-
path,
|
37
|
+
path, name = File.split(template.to_s)
|
38
38
|
template_path = File.join(path,"_#{name}").to_sym
|
39
39
|
item_name = name.partition('.').first.to_sym
|
40
40
|
|
@@ -58,6 +58,27 @@ module Padrino
|
|
58
58
|
end
|
59
59
|
end
|
60
60
|
alias :render_partial :partial
|
61
|
+
|
62
|
+
def self.included(base)
|
63
|
+
unless base.instance_methods.include?(:render) || base.private_instance_methods.include?(:render)
|
64
|
+
base.class_eval do
|
65
|
+
fail "gem 'tilt' is required" unless defined?(::Tilt)
|
66
|
+
|
67
|
+
def render(engine, file=nil, options={}, locals=nil, &block)
|
68
|
+
locals ||= options[:locals] || {}
|
69
|
+
engine, file = file, engine if file.nil?
|
70
|
+
template_engine = engine ? ::Tilt[engine] : ::Tilt.default_mapping[file]
|
71
|
+
fail "Engine #{engine.inspect} is not registered with Tilt" unless template_engine
|
72
|
+
unless File.file?(file.to_s)
|
73
|
+
engine_extensions = ::Tilt.default_mapping.extensions_for(template_engine)
|
74
|
+
file = Dir.glob("#{file}.{#{engine_extensions.join(',')}}").first || fail("Template '#{file}' not found")
|
75
|
+
end
|
76
|
+
template = template_engine.new(file.to_s, options)
|
77
|
+
template.render(options[:scope] || self, locals, &block)
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
61
82
|
end
|
62
83
|
end
|
63
84
|
end
|
@@ -235,6 +235,19 @@ module Padrino
|
|
235
235
|
"<#{name}#{attributes}#{open ? '>' : ' />'}".html_safe
|
236
236
|
end
|
237
237
|
|
238
|
+
##
|
239
|
+
# Returns an escaped document link.
|
240
|
+
#
|
241
|
+
# @example
|
242
|
+
# escape_link('http://example.com/spaced link')
|
243
|
+
# # => 'http://example.com/spaced%20link'
|
244
|
+
# escape_link('already%20partially escaped')
|
245
|
+
# # => 'already%20partially%20escaped'
|
246
|
+
#
|
247
|
+
def escape_link(link)
|
248
|
+
link.gsub(' ', '%20')
|
249
|
+
end
|
250
|
+
|
238
251
|
private
|
239
252
|
|
240
253
|
##
|
@@ -1,6 +1,18 @@
|
|
1
1
|
module Padrino
|
2
2
|
module Rendering
|
3
3
|
class SafeERB < ::ERB
|
4
|
+
class Compiler < ::ERB::Compiler
|
5
|
+
def add_insert_cmd(out, content)
|
6
|
+
out.push("@__in_ruby_literal = true")
|
7
|
+
super
|
8
|
+
out.push("@__in_ruby_literal = false")
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
def make_compiler(trim_mode)
|
13
|
+
Compiler.new(trim_mode)
|
14
|
+
end
|
15
|
+
|
4
16
|
def set_eoutvar(compiler, eoutvar = '_erbout')
|
5
17
|
compiler.put_cmd = "#{eoutvar}.safe_concat"
|
6
18
|
compiler.insert_cmd = "#{eoutvar}.concat"
|
@@ -7,7 +7,7 @@ module Padrino
|
|
7
7
|
# @api private
|
8
8
|
module SafeBufferEnhancer
|
9
9
|
def add_expr_literal(src, code)
|
10
|
-
src << " #{@bufvar}.concat((" << code << ').to_s);'
|
10
|
+
src << " @__in_ruby_literal = true; #{@bufvar}.concat((" << code << ').to_s); @__in_ruby_literal = false;'
|
11
11
|
end
|
12
12
|
|
13
13
|
def add_stmt(src, code)
|
data/test/helper.rb
CHANGED
@@ -71,6 +71,11 @@ describe "AssetTagHelpers" do
|
|
71
71
|
assert_match "<&>", actual_link
|
72
72
|
end
|
73
73
|
|
74
|
+
it 'should escape the link href' do
|
75
|
+
actual_link = link_to('Sign up', '/register new%20user')
|
76
|
+
assert_has_tag('a', :href => '/register%20new%20user') { actual_link }
|
77
|
+
end
|
78
|
+
|
74
79
|
it 'should not escape image_tag' do
|
75
80
|
actual_link = link_to(image_tag("/my/fancy/image.png"), :class => 'first', :id => 'binky')
|
76
81
|
assert_has_tag('img', :src => "/my/fancy/image.png") { actual_link }
|
@@ -146,7 +151,7 @@ describe "AssetTagHelpers" do
|
|
146
151
|
end
|
147
152
|
|
148
153
|
it 'should not double-escape ampersands in query' do
|
149
|
-
actual_html = mail_to('to@demo.com', "Email", :
|
154
|
+
actual_html = mail_to('to@demo.com', "Email", :bcc => 'bcc@test.com', :subject => 'Hi there')
|
150
155
|
assert_has_tag(:a, :href => 'mailto:to@demo.com?bcc=bcc@test.com&subject=Hi%20there', :content => 'Email') { actual_html }
|
151
156
|
assert_match %r{&}, actual_html
|
152
157
|
refute_match %r{&amp;}, actual_html
|
data/test/test_render_helpers.rb
CHANGED
@@ -213,13 +213,45 @@ describe "RenderHelpers" do
|
|
213
213
|
end
|
214
214
|
end
|
215
215
|
|
216
|
-
describe '
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
visit "/double_dive_#{engine}"
|
221
|
-
assert_have_selector '.outer .wrapper form .inner .core'
|
216
|
+
describe 'standalone partial rendering' do
|
217
|
+
it 'should properly render without Sinatra::Base or Padrino::Application' do
|
218
|
+
class Standalone
|
219
|
+
include Padrino::Helpers::RenderHelpers
|
222
220
|
end
|
221
|
+
locals = { :user => OpenStruct.new(:name => 'Joe') }
|
222
|
+
result = Standalone.new.partial(File.join(File.dirname(__FILE__), 'fixtures/render_app/views/template/user'), :engine => :haml, :locals => locals)
|
223
|
+
assert_equal '<h1>User name is Joe</h1>', result.chomp
|
224
|
+
end
|
225
|
+
|
226
|
+
it 'should pass class context to renderer' do
|
227
|
+
class Standalone1
|
228
|
+
include Padrino::Helpers::RenderHelpers
|
229
|
+
def user
|
230
|
+
OpenStruct.new(:name => 'Jane')
|
231
|
+
end
|
232
|
+
end
|
233
|
+
|
234
|
+
result = Standalone1.new.partial(File.join(File.dirname(__FILE__), 'fixtures/render_app/views/template/user.haml'))
|
235
|
+
assert_equal '<h1>User name is Jane</h1>', result.chomp
|
236
|
+
end
|
237
|
+
|
238
|
+
it 'should fail on missing template' do
|
239
|
+
class Standalone2
|
240
|
+
include Padrino::Helpers::RenderHelpers
|
241
|
+
end
|
242
|
+
assert_raises RuntimeError do
|
243
|
+
result = Standalone2.new.partial('none')
|
244
|
+
end
|
245
|
+
end
|
246
|
+
|
247
|
+
it 'should not override existing render methods' do
|
248
|
+
class Standalone3
|
249
|
+
def render(*)
|
250
|
+
'existing'
|
251
|
+
end
|
252
|
+
include Padrino::Helpers::RenderHelpers
|
253
|
+
end
|
254
|
+
assert_equal 'existing', Standalone3.new.partial('none')
|
223
255
|
end
|
224
256
|
end
|
225
257
|
end
|
data/test/test_rendering.rb
CHANGED
@@ -750,4 +750,14 @@ describe "Rendering" do
|
|
750
750
|
assert_equal "application/xml;charset=utf-8", response['Content-Type']
|
751
751
|
end
|
752
752
|
end
|
753
|
+
|
754
|
+
describe 'rendering with helpers that use render' do
|
755
|
+
%W{erb haml slim}.each do |engine|
|
756
|
+
it "should work with #{engine}" do
|
757
|
+
@app = RenderDemo
|
758
|
+
visit "/double_dive_#{engine}"
|
759
|
+
assert_have_selector '.outer .wrapper form .inner .core'
|
760
|
+
end
|
761
|
+
end
|
762
|
+
end
|
753
763
|
end
|
data/test/test_tag_helpers.rb
CHANGED
@@ -18,6 +18,8 @@ describe "TagHelpers" do
|
|
18
18
|
|
19
19
|
it 'should support selected attribute by using "selected" if true' do
|
20
20
|
actual_html = tag(:option, :selected => true)
|
21
|
+
# fix nokogiri 1.6.8 on jRuby
|
22
|
+
actual_html = content_tag(:select, actual_html)
|
21
23
|
assert_has_tag('option', :selected => 'selected') { actual_html }
|
22
24
|
end
|
23
25
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: padrino-helpers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.13.
|
4
|
+
version: 0.13.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Padrino Team
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2016-
|
14
|
+
date: 2016-08-17 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: padrino-support
|
@@ -19,14 +19,14 @@ dependencies:
|
|
19
19
|
requirements:
|
20
20
|
- - '='
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 0.13.
|
22
|
+
version: 0.13.3
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - '='
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 0.13.
|
29
|
+
version: 0.13.3
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: tilt
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -245,107 +245,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
245
245
|
version: 1.3.6
|
246
246
|
requirements: []
|
247
247
|
rubyforge_project: padrino-helpers
|
248
|
-
rubygems_version: 2.4
|
248
|
+
rubygems_version: 2.6.4
|
249
249
|
signing_key:
|
250
250
|
specification_version: 4
|
251
251
|
summary: Helpers for padrino
|
252
|
-
test_files:
|
253
|
-
- test/fixtures/apps/.components
|
254
|
-
- test/fixtures/apps/.gitignore
|
255
|
-
- test/fixtures/apps/render.rb
|
256
|
-
- test/fixtures/apps/views/article/comment/show.slim
|
257
|
-
- test/fixtures/apps/views/blog/post.erb
|
258
|
-
- test/fixtures/apps/views/layouts/specific.erb
|
259
|
-
- test/fixtures/apps/views/test/post.erb
|
260
|
-
- test/fixtures/layouts/layout.erb
|
261
|
-
- test/fixtures/markup_app/app.rb
|
262
|
-
- test/fixtures/markup_app/views/button_to.erb
|
263
|
-
- test/fixtures/markup_app/views/button_to.haml
|
264
|
-
- test/fixtures/markup_app/views/button_to.slim
|
265
|
-
- test/fixtures/markup_app/views/capture_concat.erb
|
266
|
-
- test/fixtures/markup_app/views/capture_concat.haml
|
267
|
-
- test/fixtures/markup_app/views/capture_concat.slim
|
268
|
-
- test/fixtures/markup_app/views/content_for.erb
|
269
|
-
- test/fixtures/markup_app/views/content_for.haml
|
270
|
-
- test/fixtures/markup_app/views/content_for.slim
|
271
|
-
- test/fixtures/markup_app/views/content_tag.erb
|
272
|
-
- test/fixtures/markup_app/views/content_tag.haml
|
273
|
-
- test/fixtures/markup_app/views/content_tag.slim
|
274
|
-
- test/fixtures/markup_app/views/current_engine.erb
|
275
|
-
- test/fixtures/markup_app/views/current_engine.haml
|
276
|
-
- test/fixtures/markup_app/views/current_engine.slim
|
277
|
-
- test/fixtures/markup_app/views/fields_for.erb
|
278
|
-
- test/fixtures/markup_app/views/fields_for.haml
|
279
|
-
- test/fixtures/markup_app/views/fields_for.slim
|
280
|
-
- test/fixtures/markup_app/views/form_for.erb
|
281
|
-
- test/fixtures/markup_app/views/form_for.haml
|
282
|
-
- test/fixtures/markup_app/views/form_for.slim
|
283
|
-
- test/fixtures/markup_app/views/form_tag.erb
|
284
|
-
- test/fixtures/markup_app/views/form_tag.haml
|
285
|
-
- test/fixtures/markup_app/views/form_tag.slim
|
286
|
-
- test/fixtures/markup_app/views/link_to.erb
|
287
|
-
- test/fixtures/markup_app/views/link_to.haml
|
288
|
-
- test/fixtures/markup_app/views/link_to.slim
|
289
|
-
- test/fixtures/markup_app/views/mail_to.erb
|
290
|
-
- test/fixtures/markup_app/views/mail_to.haml
|
291
|
-
- test/fixtures/markup_app/views/mail_to.slim
|
292
|
-
- test/fixtures/markup_app/views/meta_tag.erb
|
293
|
-
- test/fixtures/markup_app/views/meta_tag.haml
|
294
|
-
- test/fixtures/markup_app/views/meta_tag.slim
|
295
|
-
- test/fixtures/markup_app/views/partials/_erb.erb
|
296
|
-
- test/fixtures/markup_app/views/partials/_haml.haml
|
297
|
-
- test/fixtures/markup_app/views/partials/_slim.slim
|
298
|
-
- test/fixtures/markup_app/views/simple_partial.erb
|
299
|
-
- test/fixtures/markup_app/views/simple_partial.haml
|
300
|
-
- test/fixtures/markup_app/views/simple_partial.slim
|
301
|
-
- test/fixtures/render_app/app.rb
|
302
|
-
- test/fixtures/render_app/views/_deep.erb
|
303
|
-
- test/fixtures/render_app/views/_deep.haml
|
304
|
-
- test/fixtures/render_app/views/_deep.slim
|
305
|
-
- test/fixtures/render_app/views/_partial_block_erb.erb
|
306
|
-
- test/fixtures/render_app/views/_partial_block_haml.haml
|
307
|
-
- test/fixtures/render_app/views/_partial_block_slim.slim
|
308
|
-
- test/fixtures/render_app/views/_unsafe.html.builder
|
309
|
-
- test/fixtures/render_app/views/_unsafe_object.html.builder
|
310
|
-
- test/fixtures/render_app/views/current_engine.haml
|
311
|
-
- test/fixtures/render_app/views/current_engines/_erb.erb
|
312
|
-
- test/fixtures/render_app/views/current_engines/_haml.haml
|
313
|
-
- test/fixtures/render_app/views/current_engines/_slim.slim
|
314
|
-
- test/fixtures/render_app/views/dive_inner_erb.erb
|
315
|
-
- test/fixtures/render_app/views/dive_inner_haml.haml
|
316
|
-
- test/fixtures/render_app/views/dive_inner_slim.slim
|
317
|
-
- test/fixtures/render_app/views/dive_outer_erb.erb
|
318
|
-
- test/fixtures/render_app/views/dive_outer_haml.haml
|
319
|
-
- test/fixtures/render_app/views/dive_outer_slim.slim
|
320
|
-
- test/fixtures/render_app/views/double_capture_erb.erb
|
321
|
-
- test/fixtures/render_app/views/double_capture_haml.haml
|
322
|
-
- test/fixtures/render_app/views/double_capture_slim.slim
|
323
|
-
- test/fixtures/render_app/views/erb/test.erb
|
324
|
-
- test/fixtures/render_app/views/explicit_engine.haml
|
325
|
-
- test/fixtures/render_app/views/haml/test.haml
|
326
|
-
- test/fixtures/render_app/views/render_block_erb.erb
|
327
|
-
- test/fixtures/render_app/views/render_block_haml.haml
|
328
|
-
- test/fixtures/render_app/views/render_block_slim.slim
|
329
|
-
- test/fixtures/render_app/views/ruby_block_capture_erb.erb
|
330
|
-
- test/fixtures/render_app/views/ruby_block_capture_haml.haml
|
331
|
-
- test/fixtures/render_app/views/ruby_block_capture_slim.slim
|
332
|
-
- test/fixtures/render_app/views/template/_user.haml
|
333
|
-
- test/fixtures/render_app/views/template/haml_template.haml
|
334
|
-
- test/fixtures/render_app/views/template/some_template.haml
|
335
|
-
- test/fixtures/render_app/views/wrong_capture_erb.erb
|
336
|
-
- test/fixtures/render_app/views/wrong_capture_haml.haml
|
337
|
-
- test/fixtures/render_app/views/wrong_capture_slim.slim
|
338
|
-
- test/helper.rb
|
339
|
-
- test/test_asset_tag_helpers.rb
|
340
|
-
- test/test_form_builder.rb
|
341
|
-
- test/test_form_helpers.rb
|
342
|
-
- test/test_format_helpers.rb
|
343
|
-
- test/test_helpers.rb
|
344
|
-
- test/test_locale.rb
|
345
|
-
- test/test_number_helpers.rb
|
346
|
-
- test/test_output_helpers.rb
|
347
|
-
- test/test_render_helpers.rb
|
348
|
-
- test/test_rendering.rb
|
349
|
-
- test/test_rendering_extensions.rb
|
350
|
-
- test/test_tag_helpers.rb
|
351
|
-
has_rdoc:
|
252
|
+
test_files: []
|