padrino-helpers 0.10.2 → 0.10.3
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/.document +3 -3
- data/.yardopts +1 -0
- data/{LICENSE → LICENSE.txt} +0 -0
- data/README.rdoc +3 -3
- data/lib/padrino-helpers.rb +21 -14
- data/lib/padrino-helpers/asset_tag_helpers.rb +163 -34
- data/lib/padrino-helpers/form_builder/abstract_form_builder.rb +1 -1
- data/lib/padrino-helpers/form_helpers.rb +287 -134
- data/lib/padrino-helpers/format_helpers.rb +135 -17
- data/lib/padrino-helpers/locale/lv.yml +103 -0
- data/lib/padrino-helpers/locale/zh_cn.yml +1 -1
- data/lib/padrino-helpers/number_helpers.rb +73 -59
- data/lib/padrino-helpers/output_helpers.rb +59 -15
- data/lib/padrino-helpers/output_helpers/abstract_handler.rb +15 -20
- data/lib/padrino-helpers/output_helpers/erb_handler.rb +12 -15
- data/lib/padrino-helpers/output_helpers/haml_handler.rb +10 -14
- data/lib/padrino-helpers/output_helpers/slim_handler.rb +10 -14
- data/lib/padrino-helpers/render_helpers.rb +23 -7
- data/lib/padrino-helpers/tag_helpers.rb +41 -16
- data/lib/padrino-helpers/translation_helpers.rb +14 -0
- data/test/fixtures/markup_app/views/content_for.erb +3 -0
- data/test/fixtures/markup_app/views/content_for.haml +3 -0
- data/test/fixtures/markup_app/views/content_for.slim +3 -0
- data/test/helper.rb +3 -15
- data/test/test_asset_tag_helpers.rb +1 -1
- data/test/test_form_builder.rb +3 -5
- data/test/test_form_helpers.rb +1 -1
- data/test/test_format_helpers.rb +1 -1
- data/test/test_locale.rb +1 -1
- data/test/test_number_helpers.rb +1 -1
- data/test/test_output_helpers.rb +22 -2
- data/test/test_render_helpers.rb +1 -1
- data/test/test_tag_helpers.rb +1 -1
- metadata +10 -8
@@ -10,27 +10,25 @@ module Padrino
|
|
10
10
|
'"' => """
|
11
11
|
}
|
12
12
|
|
13
|
-
##
|
14
|
-
# Creates an html input field with given type and options
|
15
|
-
#
|
16
|
-
# ==== Examples
|
17
|
-
#
|
18
|
-
# input_tag :text, :class => "test"
|
19
|
-
#
|
20
|
-
def input_tag(type, options = {})
|
21
|
-
options.reverse_merge!(:type => type)
|
22
|
-
tag(:input, options)
|
23
|
-
end
|
24
|
-
|
25
13
|
##
|
26
14
|
# Creates an html tag with given name, content and options
|
27
15
|
#
|
28
|
-
#
|
16
|
+
# @overload content_tag(name, content, options)
|
17
|
+
# @param [Symbol] name The html type of tag.
|
18
|
+
# @param [String] content The contents in the tag.
|
19
|
+
# @param [Hash] options The html options to include in this tag.
|
20
|
+
# @overload content_tag(name, options, &block)
|
21
|
+
# @param [Symbol] name The html type of tag.
|
22
|
+
# @param [Hash] options The html options to include in this tag.
|
23
|
+
# @param [Proc] block The block returning html content
|
24
|
+
#
|
25
|
+
# @return [String] The html generated for the tag.
|
29
26
|
#
|
27
|
+
# @example
|
30
28
|
# content_tag(:p, "hello", :class => 'light')
|
31
|
-
# content_tag(:p, :class => 'dark')
|
32
|
-
# content_tag(name, content=nil, options={}, &block)
|
29
|
+
# content_tag(:p, :class => 'dark') { ... }
|
33
30
|
#
|
31
|
+
# @api public
|
34
32
|
def content_tag(*args, &block)
|
35
33
|
name = args.first
|
36
34
|
options = args.extract_options!
|
@@ -39,14 +37,41 @@ module Padrino
|
|
39
37
|
block_is_template?(block) ? concat_content(tag_result) : tag_result
|
40
38
|
end
|
41
39
|
|
40
|
+
##
|
41
|
+
# Creates an html input field with given type and options
|
42
|
+
#
|
43
|
+
# @param [Symbol] type
|
44
|
+
# The html type of tag to create.
|
45
|
+
# @param [Hash] options
|
46
|
+
# The html options to include in this tag.
|
47
|
+
#
|
48
|
+
# @return [String] The html for the input tag.
|
49
|
+
#
|
50
|
+
# @example
|
51
|
+
# input_tag :text, :class => "test"
|
52
|
+
# input_tag :password, :size => "20"
|
53
|
+
#
|
54
|
+
# @api semipublic
|
55
|
+
def input_tag(type, options = {})
|
56
|
+
options.reverse_merge!(:type => type)
|
57
|
+
tag(:input, options)
|
58
|
+
end
|
59
|
+
|
42
60
|
##
|
43
61
|
# Creates an html tag with the given name and options
|
44
62
|
#
|
45
|
-
#
|
63
|
+
# @param [Symbol] type
|
64
|
+
# The html type of tag to create.
|
65
|
+
# @param [Hash] options
|
66
|
+
# The html options to include in this tag.
|
67
|
+
#
|
68
|
+
# @return [String] The html for the input tag.
|
46
69
|
#
|
70
|
+
# @example
|
47
71
|
# tag(:br, :style => 'clear:both')
|
48
72
|
# tag(:p, :content => "hello", :class => 'large')
|
49
73
|
#
|
74
|
+
# @api public
|
50
75
|
def tag(name, options={})
|
51
76
|
content, open_tag = options.delete(:content), options.delete(:open)
|
52
77
|
content = content.join("\n") if content.respond_to?(:join)
|
@@ -4,6 +4,13 @@ module Padrino
|
|
4
4
|
##
|
5
5
|
# Delegates to I18n.translate with no additional functionality.
|
6
6
|
#
|
7
|
+
# @param [Symbol] *args
|
8
|
+
# The keys to retrieve.
|
9
|
+
#
|
10
|
+
# @return [String]
|
11
|
+
# The translation for the specified keys.
|
12
|
+
#
|
13
|
+
# @api public
|
7
14
|
def translate(*args)
|
8
15
|
I18n.translate(*args)
|
9
16
|
end
|
@@ -12,6 +19,13 @@ module Padrino
|
|
12
19
|
##
|
13
20
|
# Delegates to I18n.localize with no additional functionality.
|
14
21
|
#
|
22
|
+
# @param [Symbol] *args
|
23
|
+
# The keys to retrieve.
|
24
|
+
#
|
25
|
+
# @return [String]
|
26
|
+
# The translation for the specified keys.
|
27
|
+
#
|
28
|
+
# @api public
|
15
29
|
def localize(*args)
|
16
30
|
I18n.localize(*args)
|
17
31
|
end
|
data/test/helper.rb
CHANGED
@@ -1,13 +1,11 @@
|
|
1
1
|
require File.expand_path('../../../load_paths', __FILE__)
|
2
|
-
require 'test
|
3
|
-
require 'shoulda'
|
4
|
-
require 'mocha'
|
2
|
+
require File.join(File.dirname(__FILE__), '..', '..', 'padrino-core', 'test', 'mini_shoulda')
|
5
3
|
require 'rack/test'
|
6
4
|
require 'webrat'
|
7
5
|
require 'padrino-helpers'
|
8
6
|
require 'active_support/time'
|
9
7
|
|
10
|
-
class
|
8
|
+
class MiniTest::Spec
|
11
9
|
include Padrino::Helpers::OutputHelpers
|
12
10
|
include Padrino::Helpers::TagHelpers
|
13
11
|
include Padrino::Helpers::AssetTagHelpers
|
@@ -44,16 +42,6 @@ class Test::Unit::TestCase
|
|
44
42
|
assert matcher.matches?(html), matcher.failure_message
|
45
43
|
end
|
46
44
|
|
47
|
-
# Silences the output by redirecting to stringIO
|
48
|
-
# silence_logger { ...commands... } => "...output..."
|
49
|
-
def silence_logger(&block)
|
50
|
-
orig_stdout = $stdout
|
51
|
-
$stdout = log_buffer = StringIO.new
|
52
|
-
block.call
|
53
|
-
$stdout = orig_stdout
|
54
|
-
log_buffer.rewind && log_buffer.read
|
55
|
-
end
|
56
|
-
|
57
45
|
# Asserts that a file matches the pattern
|
58
46
|
def assert_match_in_file(pattern, file)
|
59
47
|
assert File.exist?(file), "File '#{file}' does not exist!"
|
@@ -71,7 +59,7 @@ end
|
|
71
59
|
|
72
60
|
module Webrat
|
73
61
|
module Logging
|
74
|
-
def logger #
|
62
|
+
def logger # @private
|
75
63
|
@logger = nil
|
76
64
|
end
|
77
65
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/helper')
|
2
2
|
require File.expand_path(File.dirname(__FILE__) + '/fixtures/markup_app/app')
|
3
3
|
|
4
|
-
|
4
|
+
describe "AssetTagHelpers" do
|
5
5
|
include Padrino::Helpers::AssetTagHelpers
|
6
6
|
|
7
7
|
def app
|
data/test/test_form_builder.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/helper')
|
2
2
|
require File.expand_path(File.dirname(__FILE__) + '/fixtures/markup_app/app')
|
3
3
|
|
4
|
-
|
4
|
+
describe "FormBuilder" do
|
5
5
|
include Padrino::Helpers::FormHelpers
|
6
6
|
|
7
7
|
# Dummy form builder for testing
|
@@ -51,9 +51,7 @@ class TestFormBuilder < Test::Unit::TestCase
|
|
51
51
|
should "display form specifying default builder setting" do
|
52
52
|
self.expects(:settings).returns(stub(:default_builder => 'FakeFormBuilder')).once
|
53
53
|
actual_html = ""
|
54
|
-
|
55
|
-
actual_html = form_for(@user, '/register', :id => 'register', :"accept-charset" => "UTF-8", :method => 'post') { |f| f.foo_field }
|
56
|
-
end
|
54
|
+
actual_html = form_for(@user, '/register', :id => 'register', :"accept-charset" => "UTF-8", :method => 'post') { |f| f.foo_field }
|
57
55
|
assert_has_tag('form', :"accept-charset" => "UTF-8", :action => '/register', :method => 'post') { actual_html }
|
58
56
|
assert_has_tag('span', :content => "bar") { actual_html }
|
59
57
|
end
|
@@ -88,7 +86,7 @@ class TestFormBuilder < Test::Unit::TestCase
|
|
88
86
|
|
89
87
|
should "support changing form builder type" do
|
90
88
|
form_html = proc { form_for(@user, '/register', :"accept-charset" => "UTF-8", :builder => "AbstractFormBuilder") { |f| f.text_field_block(:name) } }
|
91
|
-
|
89
|
+
assert_raises(NoMethodError) { form_html.call }
|
92
90
|
end
|
93
91
|
|
94
92
|
should "support using default standard builder" do
|
data/test/test_form_helpers.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/helper')
|
2
2
|
require File.expand_path(File.dirname(__FILE__) + '/fixtures/markup_app/app')
|
3
3
|
|
4
|
-
|
4
|
+
describe "FormHelpers" do
|
5
5
|
include Padrino::Helpers::FormHelpers
|
6
6
|
|
7
7
|
def app
|
data/test/test_format_helpers.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/helper')
|
2
2
|
require File.expand_path(File.dirname(__FILE__) + '/fixtures/markup_app/app')
|
3
3
|
|
4
|
-
|
4
|
+
describe "FormatHelpers" do
|
5
5
|
def app
|
6
6
|
MarkupDemo.tap { |app| app.set :environment, :test }
|
7
7
|
end
|
data/test/test_locale.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/helper')
|
2
2
|
|
3
|
-
|
3
|
+
describe "Locale Helpers" do
|
4
4
|
Dir[File.expand_path("../../lib/padrino-helpers/locale/*.yml", __FILE__)].each do |file|
|
5
5
|
base_original = YAML.load_file(file)
|
6
6
|
name = File.basename(file, '.yml')
|
data/test/test_number_helpers.rb
CHANGED
data/test/test_output_helpers.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/helper')
|
2
2
|
require File.expand_path(File.dirname(__FILE__) + '/fixtures/markup_app/app')
|
3
3
|
|
4
|
-
|
4
|
+
describe "OutputHelpers" do
|
5
5
|
def app
|
6
6
|
MarkupDemo.tap { |app| app.set :environment, :test }
|
7
7
|
end
|
@@ -24,7 +24,27 @@ class TestOutputHelpers < Test::Unit::TestCase
|
|
24
24
|
assert_have_selector '.demo h1', :content => "This is content yielded from a content_for"
|
25
25
|
assert_have_selector '.demo2 h1', :content => "This is content yielded with name Johnny Smith"
|
26
26
|
end
|
27
|
-
end
|
27
|
+
end # content_for
|
28
|
+
|
29
|
+
context "for #content_for? method" do
|
30
|
+
should 'work for erb templates' do
|
31
|
+
visit '/erb/content_for'
|
32
|
+
assert_have_selector '.demo_has_content', :content => "true"
|
33
|
+
assert_have_selector '.fake_has_content', :content => "false"
|
34
|
+
end
|
35
|
+
|
36
|
+
should "work for haml templates" do
|
37
|
+
visit '/haml/content_for'
|
38
|
+
assert_have_selector '.demo_has_content', :content => "true"
|
39
|
+
assert_have_selector '.fake_has_content', :content => "false"
|
40
|
+
end
|
41
|
+
|
42
|
+
should "work for slim templates" do
|
43
|
+
visit '/slim/content_for'
|
44
|
+
assert_have_selector '.demo_has_content', :content => "true"
|
45
|
+
assert_have_selector '.fake_has_content', :content => "false"
|
46
|
+
end
|
47
|
+
end # content_for?
|
28
48
|
|
29
49
|
context 'for #capture_html method' do
|
30
50
|
should "work for erb templates" do
|
data/test/test_render_helpers.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/helper')
|
2
2
|
require File.expand_path(File.dirname(__FILE__) + '/fixtures/render_app/app')
|
3
3
|
|
4
|
-
|
4
|
+
describe "RenderHelpers" do
|
5
5
|
def app
|
6
6
|
RenderDemo.tap { |app| app.set :environment, :test }
|
7
7
|
end
|
data/test/test_tag_helpers.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/helper')
|
2
2
|
require File.expand_path(File.dirname(__FILE__) + '/fixtures/markup_app/app')
|
3
3
|
|
4
|
-
|
4
|
+
describe "TagHelpers" do
|
5
5
|
def app
|
6
6
|
MarkupDemo.tap { |app| app.set :environment, :test }
|
7
7
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: padrino-helpers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 49
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 10
|
9
|
-
-
|
10
|
-
version: 0.10.
|
9
|
+
- 3
|
10
|
+
version: 0.10.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Padrino Team
|
@@ -18,7 +18,7 @@ autorequire:
|
|
18
18
|
bindir: bin
|
19
19
|
cert_chain: []
|
20
20
|
|
21
|
-
date: 2011-
|
21
|
+
date: 2011-10-03 00:00:00 -07:00
|
22
22
|
default_executable:
|
23
23
|
dependencies:
|
24
24
|
- !ruby/object:Gem::Dependency
|
@@ -29,12 +29,12 @@ dependencies:
|
|
29
29
|
requirements:
|
30
30
|
- - "="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
hash:
|
32
|
+
hash: 49
|
33
33
|
segments:
|
34
34
|
- 0
|
35
35
|
- 10
|
36
|
-
-
|
37
|
-
version: 0.10.
|
36
|
+
- 3
|
37
|
+
version: 0.10.3
|
38
38
|
type: :runtime
|
39
39
|
version_requirements: *id001
|
40
40
|
- !ruby/object:Gem::Dependency
|
@@ -63,7 +63,8 @@ extra_rdoc_files:
|
|
63
63
|
files:
|
64
64
|
- .document
|
65
65
|
- .gitignore
|
66
|
-
-
|
66
|
+
- .yardopts
|
67
|
+
- LICENSE.txt
|
67
68
|
- README.rdoc
|
68
69
|
- Rakefile
|
69
70
|
- lib/padrino-helpers.rb
|
@@ -81,6 +82,7 @@ files:
|
|
81
82
|
- lib/padrino-helpers/locale/hu.yml
|
82
83
|
- lib/padrino-helpers/locale/it.yml
|
83
84
|
- lib/padrino-helpers/locale/ja.yml
|
85
|
+
- lib/padrino-helpers/locale/lv.yml
|
84
86
|
- lib/padrino-helpers/locale/nl.yml
|
85
87
|
- lib/padrino-helpers/locale/no.yml
|
86
88
|
- lib/padrino-helpers/locale/pl.yml
|