padrino-helpers 0.2.5 → 0.2.6
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/lib/padrino-helpers/asset_tag_helpers.rb +8 -0
- data/lib/padrino-helpers/form_builder/abstract_form_builder.rb +1 -1
- data/lib/padrino-helpers/form_helpers.rb +5 -5
- data/padrino-helpers.gemspec +4 -2
- data/test/fixtures/markup_app/views/form_for.erb +4 -4
- data/test/fixtures/markup_app/views/form_for.haml +4 -4
- data/test/fixtures/markup_app/views/meta_tag.erb +3 -0
- data/test/fixtures/markup_app/views/meta_tag.haml +3 -0
- data/test/test_asset_tag_helpers.rb +21 -0
- data/test/test_form_builder.rb +13 -8
- data/test/test_form_helpers.rb +6 -1
- metadata +4 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.6
|
@@ -40,6 +40,14 @@ module Padrino
|
|
40
40
|
link_to (caption || email), mail_href, html_options
|
41
41
|
end
|
42
42
|
|
43
|
+
# Creates a meta element with the content and given options
|
44
|
+
# meta_tag "weblog,news", :name => "keywords" => <meta name="keywords" content="weblog,news">
|
45
|
+
# meta_tag "text/html; charset=UTF-8", :http-equiv => "Content-Type" => <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
46
|
+
def meta_tag(content, options={})
|
47
|
+
options.reverse_merge!("content" => content)
|
48
|
+
content_tag(:meta, '', options)
|
49
|
+
end
|
50
|
+
|
43
51
|
# Creates an image element with given url and options
|
44
52
|
# image_tag('icons/avatar.png')
|
45
53
|
def image_tag(url, options={})
|
@@ -18,7 +18,7 @@ module Padrino
|
|
18
18
|
|
19
19
|
# f.label :username, :caption => "Nickname"
|
20
20
|
def label(field, options={})
|
21
|
-
options.reverse_merge!(:caption => field.to_s.titleize)
|
21
|
+
options.reverse_merge!(:caption => "#{field.to_s.titleize}: ")
|
22
22
|
@template.label_tag(field_id(field), options)
|
23
23
|
end
|
24
24
|
|
@@ -56,8 +56,8 @@ module Padrino
|
|
56
56
|
# label_tag :username, :class => 'long-label'
|
57
57
|
# label_tag :username, :class => 'long-label' do ... end
|
58
58
|
def label_tag(name, options={}, &block)
|
59
|
-
options.reverse_merge!(:caption => name.to_s.titleize, :for => name)
|
60
|
-
caption_text = options.delete(:caption)
|
59
|
+
options.reverse_merge!(:caption => "#{name.to_s.titleize}: ", :for => name)
|
60
|
+
caption_text = options.delete(:caption)
|
61
61
|
if block_given? # label with inner content
|
62
62
|
label_content = caption_text + capture_html(&block)
|
63
63
|
concat_content(content_tag(:label, label_content, options))
|
@@ -81,10 +81,10 @@ module Padrino
|
|
81
81
|
end
|
82
82
|
|
83
83
|
# Constructs a text area input from the given options
|
84
|
-
# text_area_tag :username, :class => 'long'
|
84
|
+
# text_area_tag :username, :class => 'long', :value => "Demo?"
|
85
85
|
def text_area_tag(name, options={})
|
86
|
-
options.reverse_merge!(:name => name)
|
87
|
-
content_tag(:textarea,
|
86
|
+
options.reverse_merge!(:name => name, :value => '')
|
87
|
+
content_tag(:textarea, options.delete(:value), options)
|
88
88
|
end
|
89
89
|
|
90
90
|
# Constructs a password field input from the given options
|
data/padrino-helpers.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{padrino-helpers}
|
8
|
-
s.version = "0.2.
|
8
|
+
s.version = "0.2.6"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Padrino Team", "Nathan Esquenazi", "Davide D'Agostino", "Arthur Chiu"]
|
12
|
-
s.date = %q{2009-12-
|
12
|
+
s.date = %q{2009-12-22}
|
13
13
|
s.description = %q{Tag helpers, asset helpers, form helpers, form builders and many more helpers for padrino}
|
14
14
|
s.email = %q{nesquena@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -49,6 +49,8 @@ Gem::Specification.new do |s|
|
|
49
49
|
"test/fixtures/markup_app/views/link_to.haml",
|
50
50
|
"test/fixtures/markup_app/views/mail_to.erb",
|
51
51
|
"test/fixtures/markup_app/views/mail_to.haml",
|
52
|
+
"test/fixtures/markup_app/views/meta_tag.erb",
|
53
|
+
"test/fixtures/markup_app/views/meta_tag.haml",
|
52
54
|
"test/fixtures/render_app/app.rb",
|
53
55
|
"test/fixtures/render_app/views/erb/test.erb",
|
54
56
|
"test/fixtures/render_app/views/haml/test.haml",
|
@@ -2,7 +2,7 @@
|
|
2
2
|
<%= f.error_messages(:header_message => "custom MarkupUser cannot be saved!") %>
|
3
3
|
<%= f.hidden_field :session_id %>
|
4
4
|
<p>
|
5
|
-
<%= f.label :username, :caption => "Login", :class => 'user-label' %>
|
5
|
+
<%= f.label :username, :caption => "Login: ", :class => 'user-label' %>
|
6
6
|
<%= f.text_field :username, :class => 'user-text', :value => "John" %>
|
7
7
|
</p>
|
8
8
|
<p>
|
@@ -18,11 +18,11 @@
|
|
18
18
|
<%= f.file_field :photo, :class => 'user-photo' %>
|
19
19
|
</p>
|
20
20
|
<p>
|
21
|
-
<%= f.label :about, :caption => "About Me" %>
|
21
|
+
<%= f.label :about, :caption => "About Me: " %>
|
22
22
|
<%= f.text_area :about, :class => 'user-about' %>
|
23
23
|
</p>
|
24
24
|
<p>
|
25
|
-
<%= f.label :gender, :caption => "Your gender:" %>
|
25
|
+
<%= f.label :gender, :caption => "Your gender: " %>
|
26
26
|
<%= f.radio_button :gender, :value => 'male' %>
|
27
27
|
<%= f.radio_button :gender, :value => 'female' %>
|
28
28
|
</p>
|
@@ -41,7 +41,7 @@
|
|
41
41
|
<% form_for MarkupUser.new, '/another_demo', :id => 'demo2', :method => 'get' do |f| %>
|
42
42
|
<%= f.error_messages :header_message => "custom MarkupUser cannot be saved!" %>
|
43
43
|
<%= f.hidden_field :session_id %>
|
44
|
-
<%= f.text_field_block :username, { :class => 'input' }, { :caption => 'Nickname', :class => 'label' } %>
|
44
|
+
<%= f.text_field_block :username, { :class => 'input' }, { :caption => 'Nickname: ', :class => 'label' } %>
|
45
45
|
<%= f.password_field_block :code, { :class => 'input' } %>
|
46
46
|
<%= f.text_area_block :about, { :class => 'textarea' } %>
|
47
47
|
<%= f.file_field_block :photo, { :class => 'upload' } %>
|
@@ -2,7 +2,7 @@
|
|
2
2
|
= f.error_messages(:header_message => "custom MarkupUser cannot be saved!")
|
3
3
|
= f.hidden_field :session_id
|
4
4
|
%p
|
5
|
-
= f.label :username, :caption => "Login", :class => 'user-label'
|
5
|
+
= f.label :username, :caption => "Login: ", :class => 'user-label'
|
6
6
|
= f.text_field :username, :class => 'user-text', :value => "John"
|
7
7
|
%p
|
8
8
|
= f.label :email, :caption => "Email", :class => 'user-email'
|
@@ -14,10 +14,10 @@
|
|
14
14
|
= f.label :photo
|
15
15
|
= f.file_field :photo, :class => 'user-photo'
|
16
16
|
%p
|
17
|
-
= f.label :about, :caption => "About Me"
|
17
|
+
= f.label :about, :caption => "About Me: "
|
18
18
|
= f.text_area :about, :class => 'user-about'
|
19
19
|
%p
|
20
|
-
= f.label :gender, :caption => "Your gender"
|
20
|
+
= f.label :gender, :caption => "Your gender: "
|
21
21
|
= f.radio_button :gender, :value => 'male'
|
22
22
|
= f.radio_button :gender, :value => 'female'
|
23
23
|
%p
|
@@ -34,7 +34,7 @@
|
|
34
34
|
- form_for MarkupUser.new, '/another_demo', :id => 'demo2', :method => 'get' do |f|
|
35
35
|
= f.error_messages :header_message => "custom MarkupUser cannot be saved!"
|
36
36
|
= f.hidden_field :session_id
|
37
|
-
= f.text_field_block :username, { :class => 'input' }, { :caption => 'Nickname', :class => 'label' }
|
37
|
+
= f.text_field_block :username, { :class => 'input' }, { :caption => 'Nickname: ', :class => 'label' }
|
38
38
|
= f.password_field_block :code, { :class => 'input' }
|
39
39
|
= f.text_area_block :about, { :class => 'textarea' }
|
40
40
|
= f.file_field_block :photo, { :class => 'upload' }
|
@@ -82,6 +82,27 @@ class TestAssetTagHelpers < Test::Unit::TestCase
|
|
82
82
|
end
|
83
83
|
end
|
84
84
|
|
85
|
+
context 'for #meta_tag method' do
|
86
|
+
should "display meta tag with given content and name" do
|
87
|
+
actual_html = meta_tag("weblog,news", :name => "keywords")
|
88
|
+
assert_has_tag("meta", :name => "keywords", "content" => "weblog,news") { actual_html }
|
89
|
+
end
|
90
|
+
should "display meta tag with given content and http-equiv" do
|
91
|
+
actual_html = meta_tag("text/html; charset=UTF-8", :"http-equiv" => "Content-Type")
|
92
|
+
assert_has_tag("meta", :"http-equiv" => "Content-Type", "content" => "text/html; charset=UTF-8") { actual_html }
|
93
|
+
end
|
94
|
+
should "display meta tag element in haml" do
|
95
|
+
visit '/haml/meta_tag'
|
96
|
+
assert_have_selector 'meta', "content" => "weblog,news", :name => "keywords"
|
97
|
+
assert_have_selector 'meta', "content" => "text/html; charset=UTF-8", :"http-equiv" => "Content-Type"
|
98
|
+
end
|
99
|
+
should "display meta tag element in erb" do
|
100
|
+
visit '/erb/meta_tag'
|
101
|
+
assert_have_selector 'meta', "content" => "weblog,news", :name => "keywords"
|
102
|
+
assert_have_selector 'meta', "content" => "text/html; charset=UTF-8", :"http-equiv" => "Content-Type"
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
85
106
|
context 'for #image_tag method' do
|
86
107
|
should "display image tag absolute link with no options" do
|
87
108
|
assert_has_tag('img', :src => "/absolute/pic.gif") { image_tag('/absolute/pic.gif') }
|
data/test/test_form_builder.rb
CHANGED
@@ -148,7 +148,7 @@ class TestFormBuilder < Test::Unit::TestCase
|
|
148
148
|
|
149
149
|
context 'for #label method' do
|
150
150
|
should "display correct label html" do
|
151
|
-
actual_html = standard_builder.label(:first_name, :class => 'large', :caption => "F. Name")
|
151
|
+
actual_html = standard_builder.label(:first_name, :class => 'large', :caption => "F. Name: ")
|
152
152
|
assert_has_tag('label', :class => 'large', :for => 'user_first_name', :content => "F. Name: ") { actual_html }
|
153
153
|
end
|
154
154
|
|
@@ -301,6 +301,11 @@ class TestFormBuilder < Test::Unit::TestCase
|
|
301
301
|
assert_has_tag('textarea.large', :id => 'user_about', :name => 'user[about]') { actual_html }
|
302
302
|
end
|
303
303
|
|
304
|
+
should "display correct text_area html and content" do
|
305
|
+
actual_html = standard_builder.text_area(:about, :value => "Demo")
|
306
|
+
assert_has_tag('textarea', :id => 'user_about', :content => 'Demo') { actual_html }
|
307
|
+
end
|
308
|
+
|
304
309
|
should "display correct text_area in haml" do
|
305
310
|
visit '/haml/form_for'
|
306
311
|
assert_have_selector '#demo textarea', :name => 'markup_user[about]', :id => 'markup_user_about', :class => 'user-about'
|
@@ -454,7 +459,7 @@ class TestFormBuilder < Test::Unit::TestCase
|
|
454
459
|
context 'for #text_field_block method' do
|
455
460
|
should "display correct text field block html" do
|
456
461
|
actual_html = standard_builder.text_field_block(:first_name, :class => 'large', :caption => "FName")
|
457
|
-
assert_has_tag('p label', :for => 'user_first_name', :content => "FName
|
462
|
+
assert_has_tag('p label', :for => 'user_first_name', :content => "FName") { actual_html }
|
458
463
|
assert_has_tag('p input.large[type=text]', :value => "Joe", :id => 'user_first_name', :name => 'user[first_name]') { actual_html }
|
459
464
|
end
|
460
465
|
|
@@ -474,7 +479,7 @@ class TestFormBuilder < Test::Unit::TestCase
|
|
474
479
|
context 'for #text_area_block method' do
|
475
480
|
should "display correct text area block html" do
|
476
481
|
actual_html = standard_builder.text_area_block(:about, :class => 'large', :caption => "About Me")
|
477
|
-
assert_has_tag('p label', :for => 'user_about', :content => "About Me
|
482
|
+
assert_has_tag('p label', :for => 'user_about', :content => "About Me") { actual_html }
|
478
483
|
assert_has_tag('p textarea', :id => 'user_about', :name => 'user[about]') { actual_html }
|
479
484
|
end
|
480
485
|
|
@@ -493,7 +498,7 @@ class TestFormBuilder < Test::Unit::TestCase
|
|
493
498
|
|
494
499
|
context 'for #password_field_block method' do
|
495
500
|
should "display correct password field block html" do
|
496
|
-
actual_html = standard_builder.password_field_block(:keycode, :class => 'large', :caption => "Code")
|
501
|
+
actual_html = standard_builder.password_field_block(:keycode, :class => 'large', :caption => "Code: ")
|
497
502
|
assert_has_tag('p label', :for => 'user_keycode', :content => "Code: ") { actual_html }
|
498
503
|
assert_has_tag('p input.large[type=password]', :id => 'user_keycode', :name => 'user[keycode]') { actual_html }
|
499
504
|
end
|
@@ -513,7 +518,7 @@ class TestFormBuilder < Test::Unit::TestCase
|
|
513
518
|
|
514
519
|
context 'for #file_field_block method' do
|
515
520
|
should "display correct file field block html" do
|
516
|
-
actual_html = standard_builder.file_field_block(:photo, :class => 'large', :caption => "Photo")
|
521
|
+
actual_html = standard_builder.file_field_block(:photo, :class => 'large', :caption => "Photo: ")
|
517
522
|
assert_has_tag('p label', :for => 'user_photo', :content => "Photo: ") { actual_html }
|
518
523
|
assert_has_tag('p input.large[type=file]', :id => 'user_photo', :name => 'user[photo]') { actual_html }
|
519
524
|
end
|
@@ -533,8 +538,8 @@ class TestFormBuilder < Test::Unit::TestCase
|
|
533
538
|
|
534
539
|
context 'for #check_box_block method' do
|
535
540
|
should "display correct check box block html" do
|
536
|
-
actual_html = standard_builder.check_box_block(:remember_me, :class => 'large', :caption => "Remember session")
|
537
|
-
assert_has_tag('p label', :for => 'user_remember_me', :content => "Remember session
|
541
|
+
actual_html = standard_builder.check_box_block(:remember_me, :class => 'large', :caption => "Remember session?")
|
542
|
+
assert_has_tag('p label', :for => 'user_remember_me', :content => "Remember session?") { actual_html }
|
538
543
|
assert_has_tag('p input.large[type=checkbox]', :id => 'user_remember_me', :name => 'user[remember_me]') { actual_html }
|
539
544
|
end
|
540
545
|
|
@@ -554,7 +559,7 @@ class TestFormBuilder < Test::Unit::TestCase
|
|
554
559
|
context 'for #select_block method' do
|
555
560
|
should "display correct select_block block html" do
|
556
561
|
actual_html = standard_builder.select_block(:country, :options => ['USA', 'Canada'], :class => 'large', :caption => "Your country")
|
557
|
-
assert_has_tag('p label', :for => 'user_country', :content => "Your country
|
562
|
+
assert_has_tag('p label', :for => 'user_country', :content => "Your country") { actual_html }
|
558
563
|
assert_has_tag('p select', :id => 'user_country', :name => 'user[country]') { actual_html }
|
559
564
|
assert_has_tag('p select option', :content => 'USA') { actual_html }
|
560
565
|
assert_has_tag('p select option', :content => 'Canada') { actual_html }
|
data/test/test_form_helpers.rb
CHANGED
@@ -108,7 +108,7 @@ class TestFormHelpers < Test::Unit::TestCase
|
|
108
108
|
context 'for #label_tag method' do
|
109
109
|
should "display label tag in ruby" do
|
110
110
|
actual_html = label_tag(:username, :class => 'long-label', :caption => "Nickname")
|
111
|
-
assert_has_tag(:label, :for => 'username', :class => 'long-label', :content => "Nickname
|
111
|
+
assert_has_tag(:label, :for => 'username', :class => 'long-label', :content => "Nickname") { actual_html }
|
112
112
|
end
|
113
113
|
|
114
114
|
should "display label tag in erb for simple form" do
|
@@ -190,6 +190,11 @@ class TestFormHelpers < Test::Unit::TestCase
|
|
190
190
|
assert_has_tag(:textarea, :class => "long", :name => 'about') { actual_html }
|
191
191
|
end
|
192
192
|
|
193
|
+
should "display text area in ruby with specified content" do
|
194
|
+
actual_html = text_area_tag(:about, :value => "a test")
|
195
|
+
assert_has_tag(:textarea, :content => "a test", :name => 'about') { actual_html }
|
196
|
+
end
|
197
|
+
|
193
198
|
should "display text area in erb" do
|
194
199
|
visit '/erb/form_tag'
|
195
200
|
assert_have_selector 'form.advanced-form textarea', :count => 1, :name => 'about', :class => 'large'
|
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.2.
|
4
|
+
version: 0.2.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Padrino Team
|
@@ -12,7 +12,7 @@ autorequire:
|
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
14
|
|
15
|
-
date: 2009-12-
|
15
|
+
date: 2009-12-22 00:00:00 -08:00
|
16
16
|
default_executable:
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
@@ -127,6 +127,8 @@ files:
|
|
127
127
|
- test/fixtures/markup_app/views/link_to.haml
|
128
128
|
- test/fixtures/markup_app/views/mail_to.erb
|
129
129
|
- test/fixtures/markup_app/views/mail_to.haml
|
130
|
+
- test/fixtures/markup_app/views/meta_tag.erb
|
131
|
+
- test/fixtures/markup_app/views/meta_tag.haml
|
130
132
|
- test/fixtures/render_app/app.rb
|
131
133
|
- test/fixtures/render_app/views/erb/test.erb
|
132
134
|
- test/fixtures/render_app/views/haml/test.haml
|