haml 3.2.0.alpha.10 → 3.2.0.alpha.13
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of haml might be problematic. Click here for more details.
- data/.yardopts +19 -7
- data/CHANGELOG.md +1224 -0
- data/FAQ.md +157 -0
- data/README.md +99 -62
- data/REFERENCE.md +1404 -0
- data/Rakefile +52 -341
- data/init.rb +1 -18
- data/lib/haml.rb +6 -30
- data/lib/haml/buffer.rb +37 -16
- data/lib/haml/compiler.rb +52 -13
- data/lib/haml/engine.rb +61 -44
- data/lib/haml/exec.rb +21 -4
- data/lib/haml/filters.rb +136 -166
- data/lib/haml/helpers.rb +37 -10
- data/lib/haml/helpers/action_view_extensions.rb +2 -1
- data/lib/haml/helpers/action_view_mods.rb +67 -181
- data/lib/haml/helpers/rails_323_textarea_fix.rb +39 -0
- data/lib/haml/helpers/xss_mods.rb +9 -11
- data/lib/haml/html.rb +22 -9
- data/lib/haml/html/erb.rb +1 -1
- data/lib/haml/parser.rb +22 -15
- data/lib/haml/railtie.rb +2 -13
- data/lib/haml/template.rb +18 -85
- data/lib/haml/template/options.rb +1 -1
- data/lib/haml/template/plugin.rb +15 -101
- data/lib/haml/util.rb +120 -603
- data/lib/haml/version.rb +1 -107
- data/test/{haml/engine_test.rb → engine_test.rb} +137 -143
- data/test/{haml/erb → erb}/_av_partial_1.erb +1 -1
- data/test/{haml/erb → erb}/_av_partial_2.erb +1 -1
- data/test/{haml/erb → erb}/action_view.erb +1 -1
- data/test/{haml/erb → erb}/standard.erb +0 -0
- data/test/filters_test.rb +141 -0
- data/test/gemfiles/Gemfile.rails-3.0.x +4 -6
- data/test/gemfiles/Gemfile.rails-3.1.x +5 -6
- data/test/gemfiles/Gemfile.rails-3.2.x +6 -0
- data/test/haml-spec/LICENSE +14 -0
- data/test/{haml/spec → haml-spec}/README.md +26 -17
- data/test/haml-spec/lua_haml_spec.lua +38 -0
- data/test/haml-spec/perl_haml_test.pl +81 -0
- data/test/haml-spec/ruby_haml_test.rb +23 -0
- data/test/{haml/spec → haml-spec}/tests.json +132 -54
- data/test/{haml/helper_test.rb → helper_test.rb} +50 -36
- data/test/{haml/html2haml → html2haml}/erb_tests.rb +0 -0
- data/test/{haml/html2haml_test.rb → html2haml_test.rb} +11 -5
- data/test/{haml/markaby → markaby}/standard.mab +0 -0
- data/test/{haml/mocks → mocks}/article.rb +0 -0
- data/test/{haml/results → results}/content_for_layout.xhtml +0 -0
- data/test/{haml/results → results}/eval_suppressed.xhtml +0 -0
- data/test/{haml/results → results}/helpers.xhtml +0 -0
- data/test/{haml/results → results}/helpful.xhtml +0 -0
- data/test/{haml/results → results}/just_stuff.xhtml +0 -0
- data/test/{haml/results → results}/list.xhtml +0 -0
- data/test/{haml/results → results}/nuke_inner_whitespace.xhtml +0 -0
- data/test/{haml/results → results}/nuke_outer_whitespace.xhtml +0 -0
- data/test/{haml/results → results}/original_engine.xhtml +0 -0
- data/test/{haml/results → results}/partial_layout.xhtml +0 -0
- data/test/{haml/results → results}/partials.xhtml +0 -0
- data/test/{haml/results → results}/render_layout.xhtml +0 -0
- data/test/{haml/results → results}/silent_script.xhtml +1 -1
- data/test/{haml/results → results}/standard.xhtml +0 -0
- data/test/{haml/results → results}/tag_parsing.xhtml +0 -0
- data/test/{haml/results → results}/very_basic.xhtml +0 -0
- data/test/{haml/results → results}/whitespace_handling.xhtml +46 -50
- data/test/{haml/template_test.rb → template_test.rb} +20 -81
- data/test/{haml/templates → templates}/_av_partial_1.haml +1 -1
- data/test/{haml/templates → templates}/_av_partial_1_ugly.haml +1 -1
- data/test/{haml/templates → templates}/_av_partial_2.haml +1 -1
- data/test/{haml/templates → templates}/_av_partial_2_ugly.haml +1 -1
- data/test/{haml/templates → templates}/_layout.erb +0 -0
- data/test/{haml/templates → templates}/_layout_for_partial.haml +0 -0
- data/test/{haml/templates → templates}/_partial.haml +0 -0
- data/test/{haml/templates → templates}/_text_area.haml +0 -0
- data/test/{haml/templates → templates}/action_view.haml +1 -1
- data/test/{haml/templates → templates}/action_view_ugly.haml +1 -1
- data/test/{haml/templates → templates}/breakage.haml +0 -0
- data/test/{haml/templates → templates}/content_for_layout.haml +0 -0
- data/test/{haml/templates → templates}/eval_suppressed.haml +0 -0
- data/test/{haml/templates → templates}/helpers.haml +0 -0
- data/test/{haml/templates → templates}/helpful.haml +0 -0
- data/test/{haml/templates → templates}/just_stuff.haml +0 -0
- data/test/{haml/templates → templates}/list.haml +0 -0
- data/test/{haml/templates → templates}/nuke_inner_whitespace.haml +0 -0
- data/test/{haml/templates → templates}/nuke_outer_whitespace.haml +0 -0
- data/test/{haml/templates → templates}/original_engine.haml +0 -0
- data/test/templates/partial_layout.haml +3 -0
- data/test/{haml/templates → templates}/partialize.haml +0 -0
- data/test/{haml/templates → templates}/partials.haml +0 -0
- data/test/{haml/templates → templates}/render_layout.haml +0 -0
- data/test/{haml/templates → templates}/silent_script.haml +2 -2
- data/test/{haml/templates → templates}/standard.haml +0 -0
- data/test/{haml/templates → templates}/standard_ugly.haml +0 -0
- data/test/{haml/templates → templates}/tag_parsing.haml +0 -0
- data/test/{haml/templates → templates}/very_basic.haml +0 -0
- data/test/{haml/templates → templates}/whitespace_handling.haml +0 -0
- data/test/test_helper.rb +42 -34
- data/test/util_test.rb +80 -0
- metadata +259 -427
- data/CONTRIBUTING +0 -3
- data/REVISION +0 -1
- data/VERSION +0 -1
- data/VERSION_NAME +0 -1
- data/extra/update_watch.rb +0 -13
- data/lib/haml/root.rb +0 -7
- data/lib/haml/shared.rb +0 -78
- data/lib/haml/template/patch.rb +0 -58
- data/lib/sass.rb +0 -8
- data/lib/sass/plugin.rb +0 -10
- data/lib/sass/rails2_shim.rb +0 -9
- data/lib/sass/rails3_shim.rb +0 -16
- data/test/benchmark.rb +0 -91
- data/test/gemfiles/Gemfile.rails-2.0.x +0 -8
- data/test/gemfiles/Gemfile.rails-2.0.x.lock +0 -38
- data/test/gemfiles/Gemfile.rails-2.1.x +0 -8
- data/test/gemfiles/Gemfile.rails-2.1.x.lock +0 -38
- data/test/gemfiles/Gemfile.rails-2.2.x +0 -8
- data/test/gemfiles/Gemfile.rails-2.2.x.lock +0 -38
- data/test/gemfiles/Gemfile.rails-2.3.x +0 -8
- data/test/gemfiles/Gemfile.rails-2.3.x.lock +0 -40
- data/test/gemfiles/Gemfile.rails-3.0.x.lock +0 -85
- data/test/gemfiles/Gemfile.rails-3.1.x.lock +0 -98
- data/test/gemfiles/Gemfile.rails-xss-2.3.x +0 -9
- data/test/gemfiles/Gemfile.rails-xss-2.3.x.lock +0 -42
- data/test/haml/results/filters.xhtml +0 -62
- data/test/haml/spec/lua_haml_spec.lua +0 -30
- data/test/haml/spec/ruby_haml_test.rb +0 -19
- data/test/haml/spec_test.rb +0 -44
- data/test/haml/templates/filters.haml +0 -66
- data/test/haml/templates/partial_layout.haml +0 -10
- data/test/haml/util_test.rb +0 -300
- data/test/linked_rails.rb +0 -42
- data/vendor/sass/CONTRIBUTING +0 -3
- data/vendor/sass/MIT-LICENSE +0 -20
- data/vendor/sass/README.md +0 -201
- data/vendor/sass/Rakefile +0 -339
- data/vendor/sass/TODO +0 -39
- data/vendor/sass/VERSION +0 -1
- data/vendor/sass/VERSION_NAME +0 -1
- data/vendor/sass/bin/sass +0 -8
- data/vendor/sass/bin/sass-convert +0 -7
- data/vendor/sass/bin/scss +0 -8
- data/vendor/sass/doc-src/FAQ.md +0 -35
- data/vendor/sass/doc-src/INDENTED_SYNTAX.md +0 -210
- data/vendor/sass/doc-src/SASS_CHANGELOG.md +0 -2327
- data/vendor/sass/doc-src/SASS_REFERENCE.md +0 -1965
- data/vendor/sass/doc-src/SCSS_FOR_SASS_USERS.md +0 -155
- data/vendor/sass/ext/extconf.rb +0 -10
- data/vendor/sass/extra/update_watch.rb +0 -13
- data/vendor/sass/init.rb +0 -18
- data/vendor/sass/lib/sass.rb +0 -73
- data/vendor/sass/lib/sass/cache_stores.rb +0 -15
- data/vendor/sass/lib/sass/cache_stores/base.rb +0 -86
- data/vendor/sass/lib/sass/cache_stores/chain.rb +0 -33
- data/vendor/sass/lib/sass/cache_stores/filesystem.rb +0 -60
- data/vendor/sass/lib/sass/cache_stores/memory.rb +0 -47
- data/vendor/sass/lib/sass/cache_stores/null.rb +0 -25
- data/vendor/sass/lib/sass/callbacks.rb +0 -66
- data/vendor/sass/lib/sass/css.rb +0 -295
- data/vendor/sass/lib/sass/engine.rb +0 -878
- data/vendor/sass/lib/sass/environment.rb +0 -166
- data/vendor/sass/lib/sass/error.rb +0 -201
- data/vendor/sass/lib/sass/exec.rb +0 -672
- data/vendor/sass/lib/sass/importers.rb +0 -22
- data/vendor/sass/lib/sass/importers/base.rb +0 -139
- data/vendor/sass/lib/sass/importers/filesystem.rb +0 -149
- data/vendor/sass/lib/sass/less.rb +0 -382
- data/vendor/sass/lib/sass/logger.rb +0 -15
- data/vendor/sass/lib/sass/logger/base.rb +0 -32
- data/vendor/sass/lib/sass/logger/log_level.rb +0 -49
- data/vendor/sass/lib/sass/plugin.rb +0 -132
- data/vendor/sass/lib/sass/plugin/compiler.rb +0 -383
- data/vendor/sass/lib/sass/plugin/configuration.rb +0 -123
- data/vendor/sass/lib/sass/plugin/generic.rb +0 -15
- data/vendor/sass/lib/sass/plugin/merb.rb +0 -48
- data/vendor/sass/lib/sass/plugin/rack.rb +0 -60
- data/vendor/sass/lib/sass/plugin/rails.rb +0 -47
- data/vendor/sass/lib/sass/plugin/staleness_checker.rb +0 -173
- data/vendor/sass/lib/sass/railtie.rb +0 -9
- data/vendor/sass/lib/sass/repl.rb +0 -58
- data/vendor/sass/lib/sass/root.rb +0 -7
- data/vendor/sass/lib/sass/script.rb +0 -40
- data/vendor/sass/lib/sass/script/bool.rb +0 -18
- data/vendor/sass/lib/sass/script/color.rb +0 -480
- data/vendor/sass/lib/sass/script/css_lexer.rb +0 -29
- data/vendor/sass/lib/sass/script/css_parser.rb +0 -31
- data/vendor/sass/lib/sass/script/funcall.rb +0 -175
- data/vendor/sass/lib/sass/script/functions.rb +0 -1386
- data/vendor/sass/lib/sass/script/interpolation.rb +0 -79
- data/vendor/sass/lib/sass/script/lexer.rb +0 -339
- data/vendor/sass/lib/sass/script/list.rb +0 -83
- data/vendor/sass/lib/sass/script/literal.rb +0 -250
- data/vendor/sass/lib/sass/script/node.rb +0 -99
- data/vendor/sass/lib/sass/script/number.rb +0 -452
- data/vendor/sass/lib/sass/script/operation.rb +0 -99
- data/vendor/sass/lib/sass/script/parser.rb +0 -474
- data/vendor/sass/lib/sass/script/string.rb +0 -51
- data/vendor/sass/lib/sass/script/string_interpolation.rb +0 -103
- data/vendor/sass/lib/sass/script/unary_operation.rb +0 -64
- data/vendor/sass/lib/sass/script/variable.rb +0 -59
- data/vendor/sass/lib/sass/scss.rb +0 -17
- data/vendor/sass/lib/sass/scss/css_parser.rb +0 -46
- data/vendor/sass/lib/sass/scss/parser.rb +0 -960
- data/vendor/sass/lib/sass/scss/rx.rb +0 -128
- data/vendor/sass/lib/sass/scss/sass_parser.rb +0 -11
- data/vendor/sass/lib/sass/scss/script_lexer.rb +0 -15
- data/vendor/sass/lib/sass/scss/script_parser.rb +0 -25
- data/vendor/sass/lib/sass/scss/static_parser.rb +0 -40
- data/vendor/sass/lib/sass/selector.rb +0 -361
- data/vendor/sass/lib/sass/selector/abstract_sequence.rb +0 -62
- data/vendor/sass/lib/sass/selector/comma_sequence.rb +0 -81
- data/vendor/sass/lib/sass/selector/sequence.rb +0 -233
- data/vendor/sass/lib/sass/selector/simple.rb +0 -113
- data/vendor/sass/lib/sass/selector/simple_sequence.rb +0 -134
- data/vendor/sass/lib/sass/shared.rb +0 -78
- data/vendor/sass/lib/sass/tree/charset_node.rb +0 -22
- data/vendor/sass/lib/sass/tree/comment_node.rb +0 -90
- data/vendor/sass/lib/sass/tree/debug_node.rb +0 -18
- data/vendor/sass/lib/sass/tree/directive_node.rb +0 -23
- data/vendor/sass/lib/sass/tree/each_node.rb +0 -24
- data/vendor/sass/lib/sass/tree/extend_node.rb +0 -29
- data/vendor/sass/lib/sass/tree/for_node.rb +0 -36
- data/vendor/sass/lib/sass/tree/function_node.rb +0 -27
- data/vendor/sass/lib/sass/tree/if_node.rb +0 -52
- data/vendor/sass/lib/sass/tree/import_node.rb +0 -68
- data/vendor/sass/lib/sass/tree/media_node.rb +0 -32
- data/vendor/sass/lib/sass/tree/mixin_def_node.rb +0 -27
- data/vendor/sass/lib/sass/tree/mixin_node.rb +0 -32
- data/vendor/sass/lib/sass/tree/node.rb +0 -201
- data/vendor/sass/lib/sass/tree/prop_node.rb +0 -148
- data/vendor/sass/lib/sass/tree/return_node.rb +0 -18
- data/vendor/sass/lib/sass/tree/root_node.rb +0 -28
- data/vendor/sass/lib/sass/tree/rule_node.rb +0 -136
- data/vendor/sass/lib/sass/tree/variable_node.rb +0 -30
- data/vendor/sass/lib/sass/tree/visitors/base.rb +0 -75
- data/vendor/sass/lib/sass/tree/visitors/check_nesting.rb +0 -133
- data/vendor/sass/lib/sass/tree/visitors/convert.rb +0 -260
- data/vendor/sass/lib/sass/tree/visitors/cssize.rb +0 -175
- data/vendor/sass/lib/sass/tree/visitors/deep_copy.rb +0 -87
- data/vendor/sass/lib/sass/tree/visitors/perform.rb +0 -332
- data/vendor/sass/lib/sass/tree/visitors/set_options.rb +0 -97
- data/vendor/sass/lib/sass/tree/visitors/to_css.rb +0 -210
- data/vendor/sass/lib/sass/tree/warn_node.rb +0 -18
- data/vendor/sass/lib/sass/tree/while_node.rb +0 -18
- data/vendor/sass/lib/sass/util.rb +0 -721
- data/vendor/sass/lib/sass/util/subset_map.rb +0 -101
- data/vendor/sass/lib/sass/version.rb +0 -112
- data/vendor/sass/rails/init.rb +0 -1
- data/vendor/sass/sass.gemspec +0 -33
- data/vendor/sass/test/Gemfile +0 -4
- data/vendor/sass/test/Gemfile.lock +0 -19
- data/vendor/sass/test/sass/cache_test.rb +0 -89
- data/vendor/sass/test/sass/callbacks_test.rb +0 -61
- data/vendor/sass/test/sass/conversion_test.rb +0 -1199
- data/vendor/sass/test/sass/css2sass_test.rb +0 -373
- data/vendor/sass/test/sass/data/hsl-rgb.txt +0 -319
- data/vendor/sass/test/sass/engine_test.rb +0 -2567
- data/vendor/sass/test/sass/extend_test.rb +0 -1348
- data/vendor/sass/test/sass/fixtures/test_staleness_check_across_importers.css +0 -1
- data/vendor/sass/test/sass/fixtures/test_staleness_check_across_importers.scss +0 -1
- data/vendor/sass/test/sass/functions_test.rb +0 -1038
- data/vendor/sass/test/sass/importer_test.rb +0 -192
- data/vendor/sass/test/sass/less_conversion_test.rb +0 -653
- data/vendor/sass/test/sass/logger_test.rb +0 -58
- data/vendor/sass/test/sass/mock_importer.rb +0 -49
- data/vendor/sass/test/sass/more_results/more1.css +0 -9
- data/vendor/sass/test/sass/more_results/more1_with_line_comments.css +0 -26
- data/vendor/sass/test/sass/more_results/more_import.css +0 -29
- data/vendor/sass/test/sass/more_templates/_more_partial.sass +0 -2
- data/vendor/sass/test/sass/more_templates/more1.sass +0 -23
- data/vendor/sass/test/sass/more_templates/more_import.sass +0 -11
- data/vendor/sass/test/sass/plugin_test.rb +0 -472
- data/vendor/sass/test/sass/results/alt.css +0 -4
- data/vendor/sass/test/sass/results/basic.css +0 -9
- data/vendor/sass/test/sass/results/compact.css +0 -5
- data/vendor/sass/test/sass/results/complex.css +0 -86
- data/vendor/sass/test/sass/results/compressed.css +0 -1
- data/vendor/sass/test/sass/results/expanded.css +0 -19
- data/vendor/sass/test/sass/results/if.css +0 -3
- data/vendor/sass/test/sass/results/import.css +0 -31
- data/vendor/sass/test/sass/results/import_charset.css +0 -4
- data/vendor/sass/test/sass/results/import_charset_1_8.css +0 -4
- data/vendor/sass/test/sass/results/import_charset_ibm866.css +0 -4
- data/vendor/sass/test/sass/results/line_numbers.css +0 -49
- data/vendor/sass/test/sass/results/mixins.css +0 -95
- data/vendor/sass/test/sass/results/multiline.css +0 -24
- data/vendor/sass/test/sass/results/nested.css +0 -22
- data/vendor/sass/test/sass/results/options.css +0 -1
- data/vendor/sass/test/sass/results/parent_ref.css +0 -13
- data/vendor/sass/test/sass/results/script.css +0 -16
- data/vendor/sass/test/sass/results/scss_import.css +0 -31
- data/vendor/sass/test/sass/results/scss_importee.css +0 -2
- data/vendor/sass/test/sass/results/subdir/nested_subdir/nested_subdir.css +0 -1
- data/vendor/sass/test/sass/results/subdir/subdir.css +0 -3
- data/vendor/sass/test/sass/results/units.css +0 -11
- data/vendor/sass/test/sass/results/warn.css +0 -0
- data/vendor/sass/test/sass/results/warn_imported.css +0 -0
- data/vendor/sass/test/sass/script_conversion_test.rb +0 -285
- data/vendor/sass/test/sass/script_test.rb +0 -514
- data/vendor/sass/test/sass/scss/css_test.rb +0 -922
- data/vendor/sass/test/sass/scss/rx_test.rb +0 -156
- data/vendor/sass/test/sass/scss/scss_test.rb +0 -1273
- data/vendor/sass/test/sass/scss/test_helper.rb +0 -37
- data/vendor/sass/test/sass/templates/_imported_charset_ibm866.sass +0 -4
- data/vendor/sass/test/sass/templates/_imported_charset_utf8.sass +0 -4
- data/vendor/sass/test/sass/templates/_partial.sass +0 -2
- data/vendor/sass/test/sass/templates/alt.sass +0 -16
- data/vendor/sass/test/sass/templates/basic.sass +0 -23
- data/vendor/sass/test/sass/templates/bork1.sass +0 -2
- data/vendor/sass/test/sass/templates/bork2.sass +0 -2
- data/vendor/sass/test/sass/templates/bork3.sass +0 -2
- data/vendor/sass/test/sass/templates/bork4.sass +0 -2
- data/vendor/sass/test/sass/templates/bork5.sass +0 -3
- data/vendor/sass/test/sass/templates/compact.sass +0 -17
- data/vendor/sass/test/sass/templates/complex.sass +0 -305
- data/vendor/sass/test/sass/templates/compressed.sass +0 -15
- data/vendor/sass/test/sass/templates/expanded.sass +0 -17
- data/vendor/sass/test/sass/templates/if.sass +0 -11
- data/vendor/sass/test/sass/templates/import.sass +0 -12
- data/vendor/sass/test/sass/templates/import_charset.sass +0 -7
- data/vendor/sass/test/sass/templates/import_charset_1_8.sass +0 -4
- data/vendor/sass/test/sass/templates/import_charset_ibm866.sass +0 -9
- data/vendor/sass/test/sass/templates/importee.less +0 -2
- data/vendor/sass/test/sass/templates/importee.sass +0 -19
- data/vendor/sass/test/sass/templates/line_numbers.sass +0 -13
- data/vendor/sass/test/sass/templates/mixin_bork.sass +0 -5
- data/vendor/sass/test/sass/templates/mixins.sass +0 -76
- data/vendor/sass/test/sass/templates/multiline.sass +0 -20
- data/vendor/sass/test/sass/templates/nested.sass +0 -25
- data/vendor/sass/test/sass/templates/nested_bork1.sass +0 -2
- data/vendor/sass/test/sass/templates/nested_bork2.sass +0 -2
- data/vendor/sass/test/sass/templates/nested_bork3.sass +0 -2
- data/vendor/sass/test/sass/templates/nested_bork4.sass +0 -2
- data/vendor/sass/test/sass/templates/nested_bork5.sass +0 -2
- data/vendor/sass/test/sass/templates/nested_import.sass +0 -2
- data/vendor/sass/test/sass/templates/nested_mixin_bork.sass +0 -6
- data/vendor/sass/test/sass/templates/options.sass +0 -2
- data/vendor/sass/test/sass/templates/parent_ref.sass +0 -25
- data/vendor/sass/test/sass/templates/script.sass +0 -101
- data/vendor/sass/test/sass/templates/scss_import.scss +0 -11
- data/vendor/sass/test/sass/templates/scss_importee.scss +0 -1
- data/vendor/sass/test/sass/templates/subdir/nested_subdir/_nested_partial.sass +0 -2
- data/vendor/sass/test/sass/templates/subdir/nested_subdir/nested_subdir.sass +0 -3
- data/vendor/sass/test/sass/templates/subdir/subdir.sass +0 -6
- data/vendor/sass/test/sass/templates/units.sass +0 -11
- data/vendor/sass/test/sass/templates/warn.sass +0 -3
- data/vendor/sass/test/sass/templates/warn_imported.sass +0 -4
- data/vendor/sass/test/sass/test_helper.rb +0 -8
- data/vendor/sass/test/sass/util/subset_map_test.rb +0 -91
- data/vendor/sass/test/sass/util_test.rb +0 -266
- data/vendor/sass/test/test_helper.rb +0 -69
- data/vendor/sass/vendor/fssm/Gemfile +0 -3
- data/vendor/sass/vendor/fssm/LICENSE +0 -20
- data/vendor/sass/vendor/fssm/README.markdown +0 -83
- data/vendor/sass/vendor/fssm/Rakefile +0 -11
- data/vendor/sass/vendor/fssm/example.rb +0 -12
- data/vendor/sass/vendor/fssm/fssm.gemspec +0 -24
- data/vendor/sass/vendor/fssm/lib/fssm.rb +0 -37
- data/vendor/sass/vendor/fssm/lib/fssm/backends/fsevents.rb +0 -36
- data/vendor/sass/vendor/fssm/lib/fssm/backends/inotify.rb +0 -26
- data/vendor/sass/vendor/fssm/lib/fssm/backends/polling.rb +0 -25
- data/vendor/sass/vendor/fssm/lib/fssm/backends/rbfsevent.rb +0 -42
- data/vendor/sass/vendor/fssm/lib/fssm/backends/rubycocoa/fsevents.rb +0 -131
- data/vendor/sass/vendor/fssm/lib/fssm/monitor.rb +0 -36
- data/vendor/sass/vendor/fssm/lib/fssm/path.rb +0 -94
- data/vendor/sass/vendor/fssm/lib/fssm/pathname.rb +0 -36
- data/vendor/sass/vendor/fssm/lib/fssm/state/directory.rb +0 -75
- data/vendor/sass/vendor/fssm/lib/fssm/state/file.rb +0 -24
- data/vendor/sass/vendor/fssm/lib/fssm/support.rb +0 -92
- data/vendor/sass/vendor/fssm/lib/fssm/tree.rb +0 -176
- data/vendor/sass/vendor/fssm/lib/fssm/version.rb +0 -3
- data/vendor/sass/vendor/fssm/profile/prof-cache.rb +0 -40
- data/vendor/sass/vendor/fssm/profile/prof-fssm-pathname.html +0 -1231
- data/vendor/sass/vendor/fssm/profile/prof-pathname-rubinius.rb +0 -35
- data/vendor/sass/vendor/fssm/profile/prof-pathname.rb +0 -68
- data/vendor/sass/vendor/fssm/profile/prof-plain-pathname.html +0 -988
- data/vendor/sass/vendor/fssm/profile/prof.html +0 -2379
- data/vendor/sass/vendor/fssm/spec/count_down_latch.rb +0 -151
- data/vendor/sass/vendor/fssm/spec/monitor_spec.rb +0 -202
- data/vendor/sass/vendor/fssm/spec/path_spec.rb +0 -96
- data/vendor/sass/vendor/fssm/spec/root/duck/quack.txt +0 -0
- data/vendor/sass/vendor/fssm/spec/root/file.css +0 -0
- data/vendor/sass/vendor/fssm/spec/root/file.rb +0 -0
- data/vendor/sass/vendor/fssm/spec/root/file.yml +0 -0
- data/vendor/sass/vendor/fssm/spec/root/moo/cow.txt +0 -0
- data/vendor/sass/vendor/fssm/spec/spec_helper.rb +0 -14
- data/vendor/sass/yard/callbacks.rb +0 -29
- data/vendor/sass/yard/default/fulldoc/html/css/common.sass +0 -26
- data/vendor/sass/yard/default/layout/html/footer.erb +0 -12
- data/vendor/sass/yard/inherited_hash.rb +0 -41
data/lib/haml/helpers.rb
CHANGED
@@ -8,7 +8,6 @@ module Haml
|
|
8
8
|
# It's used to raise an error when the return value of a helper is used
|
9
9
|
# when it shouldn't be.
|
10
10
|
class ErrorReturn
|
11
|
-
# @param message [String] The error message to raise when \{#to\_s} is called
|
12
11
|
def initialize(method)
|
13
12
|
@message = <<MESSAGE
|
14
13
|
#{method} outputs directly to the Haml template.
|
@@ -71,7 +70,7 @@ MESSAGE
|
|
71
70
|
# context.haml_tag :p, "Stuff"
|
72
71
|
#
|
73
72
|
def init_haml_helpers
|
74
|
-
@haml_buffer = Haml::Buffer.new(
|
73
|
+
@haml_buffer = Haml::Buffer.new(haml_buffer, Haml::Engine.new('').send(:options_for_buffer))
|
75
74
|
nil
|
76
75
|
end
|
77
76
|
|
@@ -147,7 +146,7 @@ MESSAGE
|
|
147
146
|
# <li>hello</li>
|
148
147
|
# <li>yall</li>
|
149
148
|
#
|
150
|
-
# And
|
149
|
+
# And:
|
151
150
|
#
|
152
151
|
# = list_of({:title => 'All the stuff', :description => 'A book about all the stuff.'}) do |key, val|
|
153
152
|
# %h3= key.humanize
|
@@ -164,10 +163,33 @@ MESSAGE
|
|
164
163
|
# <p>A book about all the stuff.</p>
|
165
164
|
# </li>
|
166
165
|
#
|
166
|
+
# While:
|
167
|
+
#
|
168
|
+
# = list_of(["Home", "About", "Contact", "FAQ"], {class: "nav", role: "nav"}) do |item|
|
169
|
+
# %a{ href="#" }= item
|
170
|
+
#
|
171
|
+
# Produces:
|
172
|
+
#
|
173
|
+
# <li class='nav' role='nav'>
|
174
|
+
# <a href='#'>Home</a>
|
175
|
+
# </li>
|
176
|
+
# <li class='nav' role='nav'>
|
177
|
+
# <a href='#'>About</a>
|
178
|
+
# </li>
|
179
|
+
# <li class='nav' role='nav'>
|
180
|
+
# <a href='#'>Contact</a>
|
181
|
+
# </li>
|
182
|
+
# <li class='nav' role='nav'>
|
183
|
+
# <a href='#'>FAQ</a>
|
184
|
+
# </li>
|
185
|
+
#
|
186
|
+
# `[[class", "nav"], [role", "nav"]]` could have been used instead of `{class: "nav", role: "nav"}` (or any enumerable collection where each pair of items responds to #to_s)
|
187
|
+
#
|
167
188
|
# @param enum [Enumerable] The list of objects to iterate over
|
189
|
+
# @param [Enumerable<#to_s,#to_s>] opts Each key/value pair will become an attribute pair for each list item element.
|
168
190
|
# @yield [item] A block which contains Haml code that goes within list items
|
169
191
|
# @yieldparam item An element of `enum`
|
170
|
-
def list_of(enum, &block)
|
192
|
+
def list_of(enum, opts={}, &block)
|
171
193
|
to_return = enum.collect do |i|
|
172
194
|
result = capture_haml(i, &block)
|
173
195
|
|
@@ -178,7 +200,7 @@ MESSAGE
|
|
178
200
|
result = result.strip
|
179
201
|
end
|
180
202
|
|
181
|
-
"
|
203
|
+
%Q!<li#{opts.empty? ? "" : " ".<<(opts.map{|k,v| "#{k}='#{v}'" }.join(" "))}>#{result}</li>!
|
182
204
|
end
|
183
205
|
to_return.join("\n")
|
184
206
|
end
|
@@ -346,7 +368,9 @@ MESSAGE
|
|
346
368
|
|
347
369
|
captured = haml_buffer.buffer.slice!(position..-1)
|
348
370
|
return captured if haml_buffer.options[:ugly]
|
349
|
-
|
371
|
+
# Note that the "reject" is needed for rbx 1.2.4, which includes empty
|
372
|
+
# strings in the returned array when splitting by /^/.
|
373
|
+
captured = captured.split(/^/).reject {|x| x == ""}
|
350
374
|
|
351
375
|
min_tabs = nil
|
352
376
|
captured.each do |line|
|
@@ -432,24 +456,26 @@ MESSAGE
|
|
432
456
|
# </table>
|
433
457
|
#
|
434
458
|
# @param name [#to_s] The name of the tag
|
435
|
-
# @param flags [Array<Symbol>] Haml end-of-tag flags
|
436
459
|
#
|
437
|
-
# @overload haml_tag(name, *
|
460
|
+
# @overload haml_tag(name, *rest, attributes = {})
|
438
461
|
# @yield The block of Haml code within the tag
|
439
462
|
# @overload haml_tag(name, text, *flags, attributes = {})
|
440
463
|
# @param text [#to_s] The text within the tag
|
464
|
+
# @param flags [Array<Symbol>] Haml end-of-tag flags
|
441
465
|
def haml_tag(name, *rest, &block)
|
442
466
|
ret = ErrorReturn.new("haml_tag")
|
443
467
|
|
444
468
|
text = rest.shift.to_s unless [Symbol, Hash, NilClass].any? {|t| rest.first.is_a? t}
|
445
469
|
flags = []
|
446
470
|
flags << rest.shift while rest.first.is_a? Symbol
|
447
|
-
attrs =
|
471
|
+
attrs = (rest.shift || {})
|
472
|
+
attrs.keys.each {|key| attrs[key.to_s] = attrs.delete(key)} unless attrs.empty?
|
448
473
|
name, attrs = merge_name_and_attributes(name.to_s, attrs)
|
449
474
|
|
450
475
|
attributes = Haml::Compiler.build_attributes(haml_buffer.html?,
|
451
476
|
haml_buffer.options[:attr_wrapper],
|
452
477
|
haml_buffer.options[:escape_attrs],
|
478
|
+
haml_buffer.options[:hyphenate_data_attrs],
|
453
479
|
attrs)
|
454
480
|
|
455
481
|
if text.nil? && block.nil? && (haml_buffer.options[:autoclose].include?(name) || flags.include?(:/))
|
@@ -574,7 +600,7 @@ MESSAGE
|
|
574
600
|
#
|
575
601
|
# @return [Haml::Buffer]
|
576
602
|
def haml_buffer
|
577
|
-
@haml_buffer
|
603
|
+
@haml_buffer if defined? @haml_buffer
|
578
604
|
end
|
579
605
|
|
580
606
|
# Gives a proc the same local `_hamlout` and `_erbout` variables
|
@@ -585,6 +611,7 @@ MESSAGE
|
|
585
611
|
def haml_bind_proc(&proc)
|
586
612
|
_hamlout = haml_buffer
|
587
613
|
_erbout = _hamlout.buffer
|
614
|
+
_erbout.to_s #"use" the variable to silence warnings
|
588
615
|
proc { |*args| proc.call(*args) }
|
589
616
|
end
|
590
617
|
end
|
@@ -45,7 +45,8 @@ module Haml
|
|
45
45
|
# @yield A block in which all input to `#haml_concat` is treated as raw.
|
46
46
|
# @see Haml::Util#rails_xss_safe?
|
47
47
|
def with_raw_haml_concat
|
48
|
-
@_haml_concat_raw
|
48
|
+
@_haml_concat_raw = true
|
49
|
+
old = @_haml_concat_raw
|
49
50
|
yield
|
50
51
|
ensure
|
51
52
|
@_haml_concat_raw = old
|
@@ -3,10 +3,9 @@ module ActionView
|
|
3
3
|
def render_with_haml(*args, &block)
|
4
4
|
options = args.first
|
5
5
|
|
6
|
-
# If render :layout is used with a block,
|
7
|
-
# it
|
8
|
-
#
|
9
|
-
# until it hits the sub-render
|
6
|
+
# If render :layout is used with a block, it concats rather than returning
|
7
|
+
# a string so we need it to keep thinking it's Haml until it hits the
|
8
|
+
# sub-render.
|
10
9
|
if is_haml? && !(options.is_a?(Hash) && options[:layout] && block_given?)
|
11
10
|
return non_haml { render_without_haml(*args, &block) }
|
12
11
|
end
|
@@ -15,99 +14,52 @@ module ActionView
|
|
15
14
|
alias_method :render_without_haml, :render
|
16
15
|
alias_method :render, :render_with_haml
|
17
16
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
alias_method :output_buffer_without_haml, :output_buffer
|
25
|
-
alias_method :output_buffer, :output_buffer_with_haml
|
17
|
+
def output_buffer_with_haml
|
18
|
+
return haml_buffer.buffer if is_haml?
|
19
|
+
output_buffer_without_haml
|
20
|
+
end
|
21
|
+
alias_method :output_buffer_without_haml, :output_buffer
|
22
|
+
alias_method :output_buffer, :output_buffer_with_haml
|
26
23
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
haml_buffer.buffer = new
|
32
|
-
else
|
33
|
-
set_output_buffer_without_haml new
|
24
|
+
def set_output_buffer_with_haml(new_buffer)
|
25
|
+
if is_haml?
|
26
|
+
if Haml::Util.rails_xss_safe? && new_buffer.is_a?(ActiveSupport::SafeBuffer)
|
27
|
+
new_buffer = String.new(new_buffer)
|
34
28
|
end
|
29
|
+
haml_buffer.buffer = new_buffer
|
30
|
+
else
|
31
|
+
set_output_buffer_without_haml new_buffer
|
35
32
|
end
|
36
|
-
alias_method :set_output_buffer_without_haml, :output_buffer=
|
37
|
-
alias_method :output_buffer=, :set_output_buffer_with_haml
|
38
33
|
end
|
34
|
+
alias_method :set_output_buffer_without_haml, :output_buffer=
|
35
|
+
alias_method :output_buffer=, :set_output_buffer_with_haml
|
39
36
|
end
|
40
37
|
|
41
38
|
module Helpers
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
alias_method :capture_without_haml, :capture
|
63
|
-
alias_method :capture, :capture_with_haml
|
64
|
-
|
65
|
-
def capture_erb_with_buffer_with_haml(buffer, *args, &block)
|
66
|
-
if is_haml?
|
67
|
-
capture_haml(*args, &block)
|
68
|
-
else
|
69
|
-
capture_erb_with_buffer_without_haml(buffer, *args, &block)
|
70
|
-
end
|
71
|
-
end
|
72
|
-
alias_method :capture_erb_with_buffer_without_haml, :capture_erb_with_buffer
|
73
|
-
alias_method :capture_erb_with_buffer, :capture_erb_with_buffer_with_haml
|
74
|
-
end
|
75
|
-
|
76
|
-
module TextHelper
|
77
|
-
def concat_with_haml(string, binding = nil)
|
78
|
-
if is_haml?
|
79
|
-
haml_buffer.buffer.concat(string)
|
80
|
-
else
|
81
|
-
concat_without_haml(string, binding)
|
82
|
-
end
|
83
|
-
end
|
84
|
-
alias_method :concat_without_haml, :concat
|
85
|
-
alias_method :concat, :concat_with_haml
|
86
|
-
end
|
87
|
-
else
|
88
|
-
module CaptureHelper
|
89
|
-
def capture_with_haml(*args, &block)
|
90
|
-
if Haml::Helpers.block_is_haml?(block)
|
91
|
-
_hamlout = eval('_hamlout', block.binding) # Necessary since capture_haml checks _hamlout
|
92
|
-
value = nil
|
93
|
-
buffer = capture_haml(*args) { value = yield(*args) }
|
94
|
-
str =
|
95
|
-
if !buffer.empty?
|
96
|
-
buffer
|
97
|
-
elsif value.is_a?(String)
|
98
|
-
value
|
99
|
-
else
|
100
|
-
''
|
101
|
-
end
|
102
|
-
return ActionView::NonConcattingString.new(str) if defined?(ActionView::NonConcattingString)
|
103
|
-
return str
|
104
|
-
else
|
105
|
-
capture_without_haml(*args, &block)
|
106
|
-
end
|
39
|
+
module CaptureHelper
|
40
|
+
def capture_with_haml(*args, &block)
|
41
|
+
if Haml::Helpers.block_is_haml?(block)
|
42
|
+
_hamlout = eval('_hamlout', block.binding) # Necessary since capture_haml checks _hamlout
|
43
|
+
value = nil
|
44
|
+
buffer = capture_haml(*args) { value = yield(*args) }
|
45
|
+
str =
|
46
|
+
if !buffer.empty?
|
47
|
+
buffer
|
48
|
+
elsif value.is_a?(String)
|
49
|
+
value
|
50
|
+
else
|
51
|
+
''
|
52
|
+
end
|
53
|
+
# NonCattingString is present in Rails less than 3.1.0. When support
|
54
|
+
# for 3.0 is dropped, this can be removed.
|
55
|
+
return ActionView::NonConcattingString.new(str) if defined?(ActionView::NonConcattingString)
|
56
|
+
return str
|
57
|
+
else
|
58
|
+
capture_without_haml(*args, &block)
|
107
59
|
end
|
108
|
-
alias_method :capture_without_haml, :capture
|
109
|
-
alias_method :capture, :capture_with_haml
|
110
60
|
end
|
61
|
+
alias_method :capture_without_haml, :capture
|
62
|
+
alias_method :capture, :capture_with_haml
|
111
63
|
end
|
112
64
|
|
113
65
|
module TagHelper
|
@@ -150,109 +102,43 @@ module ActionView
|
|
150
102
|
end
|
151
103
|
end
|
152
104
|
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
wrap_block = block_given? && block_is_haml?(proc)
|
158
|
-
if wrap_block
|
159
|
-
oldproc = proc
|
160
|
-
proc = haml_bind_proc do |*args|
|
161
|
-
concat "\n"
|
162
|
-
with_tabs(1) {oldproc.call(*args)}
|
163
|
-
end
|
164
|
-
end
|
165
|
-
res = form_tag_without_haml(url_for_options, options, *parameters_for_url, &proc) + "\n"
|
166
|
-
res << "\n" if wrap_block
|
167
|
-
res
|
168
|
-
else
|
169
|
-
form_tag_without_haml(url_for_options, options, *parameters_for_url, &proc)
|
170
|
-
end
|
171
|
-
end
|
172
|
-
alias_method :form_tag_without_haml, :form_tag
|
173
|
-
alias_method :form_tag, :form_tag_with_haml
|
174
|
-
end
|
175
|
-
|
176
|
-
module FormHelper
|
177
|
-
def form_for_with_haml(object_name, *args, &proc)
|
178
|
-
wrap_block = block_given? && is_haml? && block_is_haml?(proc)
|
105
|
+
module FormTagHelper
|
106
|
+
def form_tag_with_haml(url_for_options = {}, options = {}, *parameters_for_url, &proc)
|
107
|
+
if is_haml?
|
108
|
+
wrap_block = block_given? && block_is_haml?(proc)
|
179
109
|
if wrap_block
|
180
110
|
oldproc = proc
|
181
|
-
proc =
|
182
|
-
end
|
183
|
-
res = form_for_without_haml(object_name, *args, &proc)
|
184
|
-
res << "\n" if wrap_block
|
185
|
-
res
|
186
|
-
end
|
187
|
-
alias_method :form_for_without_haml, :form_for
|
188
|
-
alias_method :form_for, :form_for_with_haml
|
189
|
-
end
|
190
|
-
|
191
|
-
module CacheHelper
|
192
|
-
# This is a workaround for a Rails 3 bug
|
193
|
-
# that's present at least through beta 3.
|
194
|
-
# Their fragment_for assumes that the block
|
195
|
-
# will return its contents as a string,
|
196
|
-
# which is not always the case.
|
197
|
-
# Luckily, it only makes this assumption if caching is disabled,
|
198
|
-
# so we only override that case.
|
199
|
-
def fragment_for_with_haml(*args, &block)
|
200
|
-
return fragment_for_without_haml(*args, &block) if controller.perform_caching
|
201
|
-
capture(&block)
|
202
|
-
end
|
203
|
-
alias_method :fragment_for_without_haml, :fragment_for
|
204
|
-
alias_method :fragment_for, :fragment_for_with_haml
|
205
|
-
end
|
206
|
-
else
|
207
|
-
module FormTagHelper
|
208
|
-
def form_tag_with_haml(url_for_options = {}, options = {}, *parameters_for_url, &proc)
|
209
|
-
if is_haml?
|
210
|
-
wrap_block = block_given? && block_is_haml?(proc)
|
211
|
-
if wrap_block
|
212
|
-
oldproc = proc
|
213
|
-
proc = haml_bind_proc do |*args|
|
214
|
-
concat "\n"
|
215
|
-
tab_up
|
216
|
-
oldproc.call(*args)
|
217
|
-
tab_down
|
218
|
-
concat haml_indent
|
219
|
-
end
|
220
|
-
concat haml_indent
|
221
|
-
end
|
222
|
-
res = form_tag_without_haml(url_for_options, options, *parameters_for_url, &proc) + "\n"
|
223
|
-
if block_given?
|
111
|
+
proc = haml_bind_proc do |*args|
|
224
112
|
concat "\n"
|
225
|
-
|
113
|
+
with_tabs(1) {oldproc.call(*args)}
|
226
114
|
end
|
227
|
-
res
|
228
|
-
else
|
229
|
-
form_tag_without_haml(url_for_options, options, *parameters_for_url, &proc)
|
230
115
|
end
|
116
|
+
res = form_tag_without_haml(url_for_options, options, *parameters_for_url, &proc) + "\n"
|
117
|
+
res << "\n" if wrap_block
|
118
|
+
res
|
119
|
+
else
|
120
|
+
form_tag_without_haml(url_for_options, options, *parameters_for_url, &proc)
|
231
121
|
end
|
232
|
-
alias_method :form_tag_without_haml, :form_tag
|
233
|
-
alias_method :form_tag, :form_tag_with_haml
|
234
122
|
end
|
123
|
+
alias_method :form_tag_without_haml, :form_tag
|
124
|
+
alias_method :form_tag, :form_tag_with_haml
|
125
|
+
end
|
235
126
|
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
tab_up
|
243
|
-
oldproc.call(*args)
|
244
|
-
tab_down
|
245
|
-
concat haml_indent
|
246
|
-
end
|
247
|
-
concat haml_indent
|
248
|
-
end
|
249
|
-
form_for_without_haml(object_name, *args, &proc)
|
250
|
-
concat "\n" if wrap_block
|
251
|
-
Haml::Helpers::ErrorReturn.new("form_for") if is_haml?
|
127
|
+
module FormHelper
|
128
|
+
def form_for_with_haml(object_name, *args, &proc)
|
129
|
+
wrap_block = block_given? && is_haml? && block_is_haml?(proc)
|
130
|
+
if wrap_block
|
131
|
+
oldproc = proc
|
132
|
+
proc = proc {|*subargs| with_tabs(1) {oldproc.call(*subargs)}}
|
252
133
|
end
|
253
|
-
|
254
|
-
|
134
|
+
res = form_for_without_haml(object_name, *args, &proc)
|
135
|
+
res << "\n" if wrap_block
|
136
|
+
res
|
255
137
|
end
|
138
|
+
alias_method :form_for_without_haml, :form_for
|
139
|
+
alias_method :form_for, :form_for_with_haml
|
256
140
|
end
|
257
141
|
end
|
258
142
|
end
|
143
|
+
|
144
|
+
require "haml/helpers/rails_323_textarea_fix" if Rails.version >= "3.2.3"
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# Rails 3.2.3's form helpers add a newline after opening textareas, which can
|
2
|
+
# cause problems with newlines being considered content rather than markup.
|
3
|
+
# These changes fix the issue by making the helpers emit "<haml:newline/>"
|
4
|
+
# rather than the leading newline. The tag is then replaced by a newline after
|
5
|
+
# rendering.
|
6
|
+
#
|
7
|
+
# This should be considered nothing more than an emergency hotfix to ensure
|
8
|
+
# compatibility with the latest version of Rails, made at a moment when the Haml
|
9
|
+
# project is transitioning to a new maintainer.
|
10
|
+
|
11
|
+
# module AbstractController
|
12
|
+
# module Rendering
|
13
|
+
# def render_to_body_with_haml(options = {})
|
14
|
+
# if rendered = render_to_body_without_haml(options)
|
15
|
+
# rendered.gsub('<haml:newline/>', "\n").html_safe
|
16
|
+
# end
|
17
|
+
# end
|
18
|
+
# alias_method_chain :render_to_body, :haml
|
19
|
+
# end
|
20
|
+
# end
|
21
|
+
|
22
|
+
module ActionView
|
23
|
+
module Helpers
|
24
|
+
|
25
|
+
module FormTagHelper
|
26
|
+
def text_area_tag_with_haml(*args)
|
27
|
+
text_area_tag_without_haml(*args).sub('>
', ">\n").html_safe
|
28
|
+
end
|
29
|
+
alias_method_chain :text_area_tag, :haml
|
30
|
+
end
|
31
|
+
|
32
|
+
module FormHelper
|
33
|
+
def text_area_with_haml(*args)
|
34
|
+
text_area_without_haml(*args).sub('>
', ">\n").html_safe
|
35
|
+
end
|
36
|
+
alias_method_chain :text_area, :haml
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|