show_for 0.1.5 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/show_for/builder.rb +16 -3
- data/lib/show_for/label.rb +2 -2
- data/lib/show_for/version.rb +2 -2
- data/test/builder_test.rb +4 -3
- data/test/test_helper.rb +1 -1
- metadata +4 -4
data/lib/show_for/builder.rb
CHANGED
@@ -23,8 +23,10 @@ module ShowFor
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def wrap_label_and_content(name, value, options, &block) #:nodoc:
|
26
|
-
|
27
|
-
|
26
|
+
label = label(name, options, false)
|
27
|
+
label += html_safe(ShowFor.separator.to_s) if label.present?
|
28
|
+
wrap_with(:wrapper, label + content(value, options, false, &block),
|
29
|
+
options, true, (value.is_a?(Proc) or collection_block?(block)))
|
28
30
|
end
|
29
31
|
|
30
32
|
# Set "#{object_name}_#{attribute_name}" as in the wrapper tag.
|
@@ -48,7 +50,7 @@ module ShowFor
|
|
48
50
|
content
|
49
51
|
end
|
50
52
|
|
51
|
-
html
|
53
|
+
html = html_safe(html) if safe
|
52
54
|
concat ? @template.concat(html) : html
|
53
55
|
end
|
54
56
|
|
@@ -57,5 +59,16 @@ module ShowFor
|
|
57
59
|
def collection_block?(block) #:nodoc:
|
58
60
|
block && block.arity == 1
|
59
61
|
end
|
62
|
+
|
63
|
+
# Ensure we make html safe only if it responds to it.
|
64
|
+
def html_safe(content)
|
65
|
+
if content.respond_to?(:html_safe)
|
66
|
+
content.html_safe
|
67
|
+
elsif content.respond_to?(:html_safe!)
|
68
|
+
content.html_safe!
|
69
|
+
else
|
70
|
+
content
|
71
|
+
end
|
72
|
+
end
|
60
73
|
end
|
61
74
|
end
|
data/lib/show_for/label.rb
CHANGED
@@ -9,7 +9,7 @@ module ShowFor
|
|
9
9
|
human_attribute_name(text_or_attribute)
|
10
10
|
end
|
11
11
|
|
12
|
-
return
|
12
|
+
return nil.to_s if label == false
|
13
13
|
options[:label_html] = options.dup if apply_options
|
14
14
|
wrap_with :label, label, options
|
15
15
|
end
|
@@ -20,4 +20,4 @@ module ShowFor
|
|
20
20
|
@object.class.human_attribute_name(attribute.to_s)
|
21
21
|
end
|
22
22
|
end
|
23
|
-
end
|
23
|
+
end
|
data/lib/show_for/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
module ShowFor
|
2
|
-
VERSION = "0.1.
|
3
|
-
end
|
2
|
+
VERSION = "0.1.6".freeze
|
3
|
+
end
|
data/test/builder_test.rb
CHANGED
@@ -26,7 +26,7 @@ class BuilderTest < ActionView::TestCase
|
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
|
-
# WRAPPER
|
29
|
+
# WRAPPER
|
30
30
|
test "show_for attribute wraps each attribute with a label and content" do
|
31
31
|
with_attribute_for @user, :name
|
32
32
|
assert_select "div.show_for p.user_name.wrapper"
|
@@ -66,6 +66,7 @@ class BuilderTest < ActionView::TestCase
|
|
66
66
|
test "show_for skips label if requested" do
|
67
67
|
with_attribute_for @user, :name, :label => false
|
68
68
|
assert_no_select "div.show_for p.wrapper strong.label"
|
69
|
+
assert_no_select "div.show_for p.wrapper br"
|
69
70
|
end
|
70
71
|
|
71
72
|
test "show_for allows label to be configured globally" do
|
@@ -218,7 +219,7 @@ class BuilderTest < ActionView::TestCase
|
|
218
219
|
with_content_for @user, "Special content", :content_tag => :b, :id => "thecontent", :class => "special"
|
219
220
|
assert_select "div.show_for b#thecontent.special.content", "Special content"
|
220
221
|
end
|
221
|
-
|
222
|
+
|
222
223
|
test "show_for#content with blank value has a 'no value'-class" do
|
223
224
|
swap ShowFor, :blank_content_class => "nothing" do
|
224
225
|
with_content_for @user, nil, :content_tag => :b
|
@@ -327,4 +328,4 @@ class BuilderTest < ActionView::TestCase
|
|
327
328
|
assert_select "div.show_for p.wrapper p.collection span", "Tag 2"
|
328
329
|
assert_select "div.show_for p.wrapper p.collection span", "Tag 3"
|
329
330
|
end
|
330
|
-
end
|
331
|
+
end
|
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: show_for
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 6
|
10
|
+
version: 0.1.6
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- "Jos\xC3\xA9 Valim"
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-10-08 00:00:00 -03:00
|
19
19
|
default_executable:
|
20
20
|
dependencies: []
|
21
21
|
|