haml 4.0.2 → 4.0.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.
Potentially problematic release.
This version of haml might be problematic. Click here for more details.
- checksums.yaml +7 -0
- data/CHANGELOG.md +12 -0
- data/FAQ.md +3 -4
- data/REFERENCE.md +40 -3
- data/lib/haml/helpers.rb +42 -28
- data/lib/haml/helpers/safe_erubis_template.rb +12 -3
- data/lib/haml/version.rb +1 -1
- data/test/gemfiles/Gemfile.rails-3.2.x.lock +98 -0
- data/test/gemfiles/Gemfile.rails-4.0.x +1 -1
- data/test/gemfiles/Gemfile.rails-4.0.x.lock +101 -0
- data/test/helper_test.rb +13 -0
- data/test/template_test.rb +1 -1
- metadata +37 -64
    
        checksums.yaml
    ADDED
    
    | @@ -0,0 +1,7 @@ | |
| 1 | 
            +
            ---
         | 
| 2 | 
            +
            SHA1:
         | 
| 3 | 
            +
              metadata.gz: 3ad1bdf5a3b2dd7640c52431d20dfb27e66abe5c
         | 
| 4 | 
            +
              data.tar.gz: 65f0b74296b54a195fc96ee9a38b981a17044d73
         | 
| 5 | 
            +
            SHA512:
         | 
| 6 | 
            +
              metadata.gz: 80b52becc93a09815980961c99e5c8cea42fddd48eb21c6d446f840e1271459bc71f72d21cee9ab05954eb5bbbad21cab5ce3449b73892873880b9407aedeed3
         | 
| 7 | 
            +
              data.tar.gz: 18f0b05ebaf47f777b76ee5979d9cb2253be69f0918b797fab8afb22b440275aea29c3e51b1fb02981646665cb29b85377484062c9ce9b5e888092f4ecaafed8
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,5 +1,17 @@ | |
| 1 1 | 
             
            # Haml Changelog
         | 
| 2 2 |  | 
| 3 | 
            +
            ## 4.0.3
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            Released May 21, 2013 ([diff](https://github.com/haml/haml/compare/4.0.2...4.0.3)).
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            * Compatibility with newer versions of Rails's Erubis handler.
         | 
| 8 | 
            +
            * Fix Erubis handler for compatibility with Tilt 1.4.x, too.
         | 
| 9 | 
            +
            * Small performance optimization for html_escape.
         | 
| 10 | 
            +
            (thanks [Lachlan Sylvester](https://github.com/lsylvester))
         | 
| 11 | 
            +
            * Documentation fixes.
         | 
| 12 | 
            +
            * Documented some helper methods that were left out of the reference.
         | 
| 13 | 
            +
            (thanks [Shane Riley](https://github.com/shaneriley))
         | 
| 14 | 
            +
             | 
| 3 15 | 
             
            ## 4.0.2
         | 
| 4 16 |  | 
| 5 17 | 
             
            Released April 5, 2013 ([diff](https://github.com/haml/haml/compare/4.0.1...4.0.2)).
         | 
    
        data/FAQ.md
    CHANGED
    
    | @@ -5,9 +5,8 @@ | |
| 5 5 | 
             
            ### Why is my markup indented properly in development mode, but not in production?
         | 
| 6 6 | 
             
            {#q-indentation-in-production}
         | 
| 7 7 |  | 
| 8 | 
            -
            To improve performance, Haml defaults to { | 
| 9 | 
            -
            apps running in production.
         | 
| 10 | 
            -
             | 
| 8 | 
            +
            To improve performance, Haml defaults to {Haml::Options#ugly "ugly" mode} in
         | 
| 9 | 
            +
            Rails apps running in production.
         | 
| 11 10 |  | 
| 12 11 | 
             
            ### How do I put a punctuation mark after an element, like "`I like <strong>cake</strong>!`"?
         | 
| 13 12 | 
             
            {#q-punctuation}
         | 
| @@ -50,7 +49,7 @@ which Haml does using the {Haml::Helpers#preserve} and {Haml::Helpers#find_and_p | |
| 50 49 |  | 
| 51 50 | 
             
            Normally, Haml will do this for you automatically
         | 
| 52 51 | 
             
            when you're using a tag that needs it
         | 
| 53 | 
            -
            (this can be customized using the { | 
| 52 | 
            +
            (this can be customized using the {Haml::Options#preserve `:preserve`} option).
         | 
| 54 53 | 
             
            For example,
         | 
| 55 54 |  | 
| 56 55 | 
             
                %p
         | 
    
        data/REFERENCE.md
    CHANGED
    
    | @@ -514,9 +514,10 @@ when the format is `:html4` or `:html5`, and to | |
| 514 514 | 
             
            when the format is `:xhtml`.
         | 
| 515 515 |  | 
| 516 516 | 
             
            Some tags are automatically treated as being empty, as long as they have no
         | 
| 517 | 
            -
            content in the Haml source. `meta`, `img`, `link`, ` | 
| 518 | 
            -
            are treated as empty by default. This | 
| 519 | 
            -
            {Haml::Options#autoclose `:autoclose`} | 
| 517 | 
            +
            content in the Haml source. `meta`, `img`, `link`, `br`, `hr`, `input`,
         | 
| 518 | 
            +
            `area`, `param`, `col` and `base` tags are treated as empty by default. This
         | 
| 519 | 
            +
            list can be customized by setting the {Haml::Options#autoclose `:autoclose`}
         | 
| 520 | 
            +
            option.
         | 
| 520 521 |  | 
| 521 522 | 
             
            ### Whitespace Removal: `>` and `<`
         | 
| 522 523 |  | 
| @@ -1179,6 +1180,42 @@ default. This filter is implemented using Tilt. | |
| 1179 1180 |  | 
| 1180 1181 | 
             
            You can also define your own filters. See {Haml::Filters} for details.
         | 
| 1181 1182 |  | 
| 1183 | 
            +
            ## Helper Methods {#helper-methods}
         | 
| 1184 | 
            +
             | 
| 1185 | 
            +
            Sometimes you need to manipulate whitespace in a more precise fashion than what
         | 
| 1186 | 
            +
            the whitespace removal methods allow. There are a few helper methods that are
         | 
| 1187 | 
            +
            useful when dealing with inline content. All these methods take a Haml block to
         | 
| 1188 | 
            +
            modify.
         | 
| 1189 | 
            +
             | 
| 1190 | 
            +
            {#surround}
         | 
| 1191 | 
            +
            ### surround
         | 
| 1192 | 
            +
            Surrounds a Haml block with text. Expects 1 or 2 string arguments used to
         | 
| 1193 | 
            +
            surround the Haml block. If a second argument is not provided, the first
         | 
| 1194 | 
            +
            argument is used as the second.
         | 
| 1195 | 
            +
             | 
| 1196 | 
            +
                = surround "(", ")" do
         | 
| 1197 | 
            +
                  = link_to "learn more", "#"
         | 
| 1198 | 
            +
             | 
| 1199 | 
            +
            {#precede}
         | 
| 1200 | 
            +
            ### precede
         | 
| 1201 | 
            +
            Prepends a Haml block with text. Expects 1 argument.
         | 
| 1202 | 
            +
             | 
| 1203 | 
            +
                = precede "*" do
         | 
| 1204 | 
            +
                  %span Required
         | 
| 1205 | 
            +
             | 
| 1206 | 
            +
            {#succeed}
         | 
| 1207 | 
            +
            ### succeed
         | 
| 1208 | 
            +
            Appends a Haml block with text. Expects 1 argument.
         | 
| 1209 | 
            +
             | 
| 1210 | 
            +
                Begin by
         | 
| 1211 | 
            +
                = succeed "," do
         | 
| 1212 | 
            +
                  = link_to "filling out your profile", "#"
         | 
| 1213 | 
            +
                = succeed "," do
         | 
| 1214 | 
            +
                  = link_to "adding a bio", "#"
         | 
| 1215 | 
            +
                and
         | 
| 1216 | 
            +
                = succeed "." do
         | 
| 1217 | 
            +
                  = link_to "inviting friends", "#"
         | 
| 1218 | 
            +
             | 
| 1182 1219 | 
             
            ## Multiline: `|` {#multiline}
         | 
| 1183 1220 |  | 
| 1184 1221 | 
             
            The pipe character designates a multiline string.
         | 
    
        data/lib/haml/helpers.rb
    CHANGED
    
    | @@ -527,38 +527,52 @@ MESSAGE | |
| 527 527 | 
             
                # Characters that need to be escaped to HTML entities from user input
         | 
| 528 528 | 
             
                HTML_ESCAPE = { '&'=>'&', '<'=>'<', '>'=>'>', '"'=>'"', "'"=>''', }
         | 
| 529 529 |  | 
| 530 | 
            -
                 | 
| 531 | 
            -
             | 
| 532 | 
            -
                 | 
| 533 | 
            -
             | 
| 534 | 
            -
             | 
| 535 | 
            -
             | 
| 536 | 
            -
             | 
| 537 | 
            -
             | 
| 538 | 
            -
             | 
| 539 | 
            -
             | 
| 540 | 
            -
                   | 
| 541 | 
            -
                   | 
| 542 | 
            -
             | 
| 543 | 
            -
                   | 
| 544 | 
            -
             | 
| 530 | 
            +
                HTML_ESCAPE_REGEX = /[\"><&]/
         | 
| 531 | 
            +
             | 
| 532 | 
            +
                if RUBY_VERSION >= '1.9'
         | 
| 533 | 
            +
                  # Include docs here so they are picked up by Yard
         | 
| 534 | 
            +
             | 
| 535 | 
            +
                  # Returns a copy of `text` with ampersands, angle brackets and quotes
         | 
| 536 | 
            +
                  # escaped into HTML entities.
         | 
| 537 | 
            +
                  #
         | 
| 538 | 
            +
                  # Note that if ActionView is loaded and XSS protection is enabled
         | 
| 539 | 
            +
                  # (as is the default for Rails 3.0+, and optional for version 2.3.5+),
         | 
| 540 | 
            +
                  # this won't escape text declared as "safe".
         | 
| 541 | 
            +
                  #
         | 
| 542 | 
            +
                  # @param text [String] The string to sanitize
         | 
| 543 | 
            +
                  # @return [String] The sanitized string
         | 
| 544 | 
            +
                  def html_escape(text)
         | 
| 545 | 
            +
                    text = text.to_s
         | 
| 546 | 
            +
                    text.gsub(HTML_ESCAPE_REGEX, HTML_ESCAPE)
         | 
| 547 | 
            +
                  end
         | 
| 548 | 
            +
                else
         | 
| 549 | 
            +
                  def html_escape(text)
         | 
| 550 | 
            +
                    text = text.to_s
         | 
| 551 | 
            +
                    text.gsub(HTML_ESCAPE_REGEX) {|s| HTML_ESCAPE[s]}
         | 
| 545 552 | 
             
                  end
         | 
| 546 | 
            -
                  text.to_s.gsub(regex) {|s| HTML_ESCAPE[s]}
         | 
| 547 553 | 
             
                end
         | 
| 548 554 |  | 
| 549 | 
            -
                 | 
| 550 | 
            -
             | 
| 551 | 
            -
                 | 
| 552 | 
            -
             | 
| 553 | 
            -
             | 
| 554 | 
            -
             | 
| 555 | 
            -
                   | 
| 556 | 
            -
                   | 
| 557 | 
            -
             | 
| 558 | 
            -
                   | 
| 559 | 
            -
             | 
| 555 | 
            +
                HTML_ESCAPE_ONCE_REGEX = /[\"><]|&(?!(?:[a-zA-Z]+|(#\d+));)/
         | 
| 556 | 
            +
             | 
| 557 | 
            +
                if RUBY_VERSION >= '1.9'
         | 
| 558 | 
            +
                  # Include docs here so they are picked up by Yard
         | 
| 559 | 
            +
             | 
| 560 | 
            +
                  # Escapes HTML entities in `text`, but without escaping an ampersand
         | 
| 561 | 
            +
                  # that is already part of an escaped entity.
         | 
| 562 | 
            +
                  #
         | 
| 563 | 
            +
                  # @param text [String] The string to sanitize
         | 
| 564 | 
            +
                  # @return [String] The sanitized string
         | 
| 565 | 
            +
                  def escape_once(text)
         | 
| 566 | 
            +
                    text = text.to_s
         | 
| 567 | 
            +
                    text.gsub!(HTML_ESCAPE_ONCE_REGEX, HTML_ESCAPE)
         | 
| 568 | 
            +
                    text
         | 
| 569 | 
            +
                  end
         | 
| 570 | 
            +
                else
         | 
| 571 | 
            +
                  def escape_once(text)
         | 
| 572 | 
            +
                    text = text.to_s
         | 
| 573 | 
            +
                    text.gsub!(HTML_ESCAPE_ONCE_REGEX){|s| HTML_ESCAPE[s]}
         | 
| 574 | 
            +
                    text
         | 
| 560 575 | 
             
                  end
         | 
| 561 | 
            -
                  text.to_s.gsub(regex) {|s| HTML_ESCAPE[s]}
         | 
| 562 576 | 
             
                end
         | 
| 563 577 |  | 
| 564 578 | 
             
                # Returns whether or not the current template is a Haml template.
         | 
| @@ -1,20 +1,29 @@ | |
| 1 1 | 
             
            module Haml
         | 
| 2 | 
            +
             | 
| 3 | 
            +
              class ErubisTemplateHandler < ActionView::Template::Handlers::Erubis
         | 
| 4 | 
            +
             | 
| 5 | 
            +
                def initialize(*args, &blk)
         | 
| 6 | 
            +
                  @newline_pending = 0
         | 
| 7 | 
            +
                  super
         | 
| 8 | 
            +
                end
         | 
| 9 | 
            +
              end
         | 
| 10 | 
            +
             | 
| 2 11 | 
             
              class SafeErubisTemplate < Tilt::ErubisTemplate
         | 
| 3 12 |  | 
| 4 13 | 
             
                def initialize_engine
         | 
| 5 14 | 
             
                end
         | 
| 6 15 |  | 
| 7 16 | 
             
                def prepare
         | 
| 8 | 
            -
                  @options.merge! :engine_class =>  | 
| 17 | 
            +
                  @options.merge! :engine_class => Haml::ErubisTemplateHandler
         | 
| 9 18 | 
             
                  super
         | 
| 10 19 | 
             
                end
         | 
| 11 20 |  | 
| 12 21 | 
             
                def precompiled_preamble(locals)
         | 
| 13 | 
            -
                  [super, "@output_buffer = ActionView::OutputBuffer.new;"]
         | 
| 22 | 
            +
                  [super, "@output_buffer = ActionView::OutputBuffer.new;"].join("\n")
         | 
| 14 23 | 
             
                end
         | 
| 15 24 |  | 
| 16 25 | 
             
                def precompiled_postamble(locals)
         | 
| 17 | 
            -
                  [super, '@output_buffer.to_s']
         | 
| 26 | 
            +
                  [super, '@output_buffer.to_s'].join("\n")
         | 
| 18 27 | 
             
                end
         | 
| 19 28 | 
             
              end
         | 
| 20 29 | 
             
            end
         | 
    
        data/lib/haml/version.rb
    CHANGED
    
    
| @@ -0,0 +1,98 @@ | |
| 1 | 
            +
            PATH
         | 
| 2 | 
            +
              remote: /Users/norman/work/haml
         | 
| 3 | 
            +
              specs:
         | 
| 4 | 
            +
                haml (4.0.3)
         | 
| 5 | 
            +
                  tilt
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            GEM
         | 
| 8 | 
            +
              remote: http://rubygems.org/
         | 
| 9 | 
            +
              specs:
         | 
| 10 | 
            +
                actionmailer (3.2.13)
         | 
| 11 | 
            +
                  actionpack (= 3.2.13)
         | 
| 12 | 
            +
                  mail (~> 2.5.3)
         | 
| 13 | 
            +
                actionpack (3.2.13)
         | 
| 14 | 
            +
                  activemodel (= 3.2.13)
         | 
| 15 | 
            +
                  activesupport (= 3.2.13)
         | 
| 16 | 
            +
                  builder (~> 3.0.0)
         | 
| 17 | 
            +
                  erubis (~> 2.7.0)
         | 
| 18 | 
            +
                  journey (~> 1.0.4)
         | 
| 19 | 
            +
                  rack (~> 1.4.5)
         | 
| 20 | 
            +
                  rack-cache (~> 1.2)
         | 
| 21 | 
            +
                  rack-test (~> 0.6.1)
         | 
| 22 | 
            +
                  sprockets (~> 2.2.1)
         | 
| 23 | 
            +
                activemodel (3.2.13)
         | 
| 24 | 
            +
                  activesupport (= 3.2.13)
         | 
| 25 | 
            +
                  builder (~> 3.0.0)
         | 
| 26 | 
            +
                activerecord (3.2.13)
         | 
| 27 | 
            +
                  activemodel (= 3.2.13)
         | 
| 28 | 
            +
                  activesupport (= 3.2.13)
         | 
| 29 | 
            +
                  arel (~> 3.0.2)
         | 
| 30 | 
            +
                  tzinfo (~> 0.3.29)
         | 
| 31 | 
            +
                activeresource (3.2.13)
         | 
| 32 | 
            +
                  activemodel (= 3.2.13)
         | 
| 33 | 
            +
                  activesupport (= 3.2.13)
         | 
| 34 | 
            +
                activesupport (3.2.13)
         | 
| 35 | 
            +
                  i18n (= 0.6.1)
         | 
| 36 | 
            +
                  multi_json (~> 1.0)
         | 
| 37 | 
            +
                arel (3.0.2)
         | 
| 38 | 
            +
                builder (3.0.4)
         | 
| 39 | 
            +
                erubis (2.7.0)
         | 
| 40 | 
            +
                hike (1.2.2)
         | 
| 41 | 
            +
                i18n (0.6.1)
         | 
| 42 | 
            +
                journey (1.0.4)
         | 
| 43 | 
            +
                json (1.8.0)
         | 
| 44 | 
            +
                mail (2.5.4)
         | 
| 45 | 
            +
                  mime-types (~> 1.16)
         | 
| 46 | 
            +
                  treetop (~> 1.4.8)
         | 
| 47 | 
            +
                mime-types (1.23)
         | 
| 48 | 
            +
                minitest (4.7.4)
         | 
| 49 | 
            +
                multi_json (1.7.3)
         | 
| 50 | 
            +
                nokogiri (1.5.9)
         | 
| 51 | 
            +
                polyglot (0.3.3)
         | 
| 52 | 
            +
                rack (1.4.5)
         | 
| 53 | 
            +
                rack-cache (1.2)
         | 
| 54 | 
            +
                  rack (>= 0.4)
         | 
| 55 | 
            +
                rack-ssl (1.3.3)
         | 
| 56 | 
            +
                  rack
         | 
| 57 | 
            +
                rack-test (0.6.2)
         | 
| 58 | 
            +
                  rack (>= 1.0)
         | 
| 59 | 
            +
                rails (3.2.13)
         | 
| 60 | 
            +
                  actionmailer (= 3.2.13)
         | 
| 61 | 
            +
                  actionpack (= 3.2.13)
         | 
| 62 | 
            +
                  activerecord (= 3.2.13)
         | 
| 63 | 
            +
                  activeresource (= 3.2.13)
         | 
| 64 | 
            +
                  activesupport (= 3.2.13)
         | 
| 65 | 
            +
                  bundler (~> 1.0)
         | 
| 66 | 
            +
                  railties (= 3.2.13)
         | 
| 67 | 
            +
                railties (3.2.13)
         | 
| 68 | 
            +
                  actionpack (= 3.2.13)
         | 
| 69 | 
            +
                  activesupport (= 3.2.13)
         | 
| 70 | 
            +
                  rack-ssl (~> 1.3.2)
         | 
| 71 | 
            +
                  rake (>= 0.8.7)
         | 
| 72 | 
            +
                  rdoc (~> 3.4)
         | 
| 73 | 
            +
                  thor (>= 0.14.6, < 2.0)
         | 
| 74 | 
            +
                rake (10.0.4)
         | 
| 75 | 
            +
                rbench (0.2.3)
         | 
| 76 | 
            +
                rdoc (3.12.2)
         | 
| 77 | 
            +
                  json (~> 1.4)
         | 
| 78 | 
            +
                sprockets (2.2.2)
         | 
| 79 | 
            +
                  hike (~> 1.2)
         | 
| 80 | 
            +
                  multi_json (~> 1.0)
         | 
| 81 | 
            +
                  rack (~> 1.0)
         | 
| 82 | 
            +
                  tilt (~> 1.1, != 1.3.0)
         | 
| 83 | 
            +
                thor (0.18.1)
         | 
| 84 | 
            +
                tilt (1.4.1)
         | 
| 85 | 
            +
                treetop (1.4.12)
         | 
| 86 | 
            +
                  polyglot
         | 
| 87 | 
            +
                  polyglot (>= 0.3.1)
         | 
| 88 | 
            +
                tzinfo (0.3.37)
         | 
| 89 | 
            +
             | 
| 90 | 
            +
            PLATFORMS
         | 
| 91 | 
            +
              ruby
         | 
| 92 | 
            +
             | 
| 93 | 
            +
            DEPENDENCIES
         | 
| 94 | 
            +
              haml!
         | 
| 95 | 
            +
              minitest
         | 
| 96 | 
            +
              nokogiri
         | 
| 97 | 
            +
              rails (>= 3.2.0, < 3.3.0)
         | 
| 98 | 
            +
              rbench
         | 
| @@ -0,0 +1,101 @@ | |
| 1 | 
            +
            PATH
         | 
| 2 | 
            +
              remote: ../../..
         | 
| 3 | 
            +
              specs:
         | 
| 4 | 
            +
                rails (4.0.0.beta1)
         | 
| 5 | 
            +
                  actionmailer (= 4.0.0.beta1)
         | 
| 6 | 
            +
                  actionpack (= 4.0.0.beta1)
         | 
| 7 | 
            +
                  activerecord (= 4.0.0.beta1)
         | 
| 8 | 
            +
                  activesupport (= 4.0.0.beta1)
         | 
| 9 | 
            +
                  bundler (>= 1.3.0, < 2.0)
         | 
| 10 | 
            +
                  railties (= 4.0.0.beta1)
         | 
| 11 | 
            +
                  sprockets-rails (~> 2.0.0.rc4)
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            PATH
         | 
| 14 | 
            +
              remote: /Users/norman/work/haml
         | 
| 15 | 
            +
              specs:
         | 
| 16 | 
            +
                haml (4.0.3)
         | 
| 17 | 
            +
                  tilt
         | 
| 18 | 
            +
             | 
| 19 | 
            +
            GEM
         | 
| 20 | 
            +
              remote: http://rubygems.org/
         | 
| 21 | 
            +
              specs:
         | 
| 22 | 
            +
                actionmailer (4.0.0.beta1)
         | 
| 23 | 
            +
                  actionpack (= 4.0.0.beta1)
         | 
| 24 | 
            +
                  mail (~> 2.5.3)
         | 
| 25 | 
            +
                actionpack (4.0.0.beta1)
         | 
| 26 | 
            +
                  activesupport (= 4.0.0.beta1)
         | 
| 27 | 
            +
                  builder (~> 3.1.0)
         | 
| 28 | 
            +
                  erubis (~> 2.7.0)
         | 
| 29 | 
            +
                  rack (~> 1.5.2)
         | 
| 30 | 
            +
                  rack-test (~> 0.6.2)
         | 
| 31 | 
            +
                activemodel (4.0.0.beta1)
         | 
| 32 | 
            +
                  activesupport (= 4.0.0.beta1)
         | 
| 33 | 
            +
                  builder (~> 3.1.0)
         | 
| 34 | 
            +
                activerecord (4.0.0.beta1)
         | 
| 35 | 
            +
                  activemodel (= 4.0.0.beta1)
         | 
| 36 | 
            +
                  activerecord-deprecated_finders (~> 0.0.3)
         | 
| 37 | 
            +
                  activesupport (= 4.0.0.beta1)
         | 
| 38 | 
            +
                  arel (~> 4.0.0.beta1)
         | 
| 39 | 
            +
                activerecord-deprecated_finders (0.0.3)
         | 
| 40 | 
            +
                activesupport (4.0.0.beta1)
         | 
| 41 | 
            +
                  i18n (~> 0.6.2)
         | 
| 42 | 
            +
                  minitest (~> 4.2)
         | 
| 43 | 
            +
                  multi_json (~> 1.3)
         | 
| 44 | 
            +
                  thread_safe (~> 0.1)
         | 
| 45 | 
            +
                  tzinfo (~> 0.3.33)
         | 
| 46 | 
            +
                arel (4.0.0)
         | 
| 47 | 
            +
                atomic (1.1.9)
         | 
| 48 | 
            +
                builder (3.1.4)
         | 
| 49 | 
            +
                erubis (2.7.0)
         | 
| 50 | 
            +
                hike (1.2.2)
         | 
| 51 | 
            +
                i18n (0.6.4)
         | 
| 52 | 
            +
                json (1.8.0)
         | 
| 53 | 
            +
                mail (2.5.4)
         | 
| 54 | 
            +
                  mime-types (~> 1.16)
         | 
| 55 | 
            +
                  treetop (~> 1.4.8)
         | 
| 56 | 
            +
                mime-types (1.23)
         | 
| 57 | 
            +
                minitest (4.7.4)
         | 
| 58 | 
            +
                multi_json (1.7.3)
         | 
| 59 | 
            +
                nokogiri (1.5.9)
         | 
| 60 | 
            +
                polyglot (0.3.3)
         | 
| 61 | 
            +
                rack (1.5.2)
         | 
| 62 | 
            +
                rack-test (0.6.2)
         | 
| 63 | 
            +
                  rack (>= 1.0)
         | 
| 64 | 
            +
                railties (4.0.0.beta1)
         | 
| 65 | 
            +
                  actionpack (= 4.0.0.beta1)
         | 
| 66 | 
            +
                  activesupport (= 4.0.0.beta1)
         | 
| 67 | 
            +
                  rake (>= 0.8.7)
         | 
| 68 | 
            +
                  rdoc (~> 3.4)
         | 
| 69 | 
            +
                  thor (>= 0.17.0, < 2.0)
         | 
| 70 | 
            +
                rake (10.0.4)
         | 
| 71 | 
            +
                rbench (0.2.3)
         | 
| 72 | 
            +
                rdoc (3.12.2)
         | 
| 73 | 
            +
                  json (~> 1.4)
         | 
| 74 | 
            +
                sprockets (2.9.3)
         | 
| 75 | 
            +
                  hike (~> 1.2)
         | 
| 76 | 
            +
                  multi_json (~> 1.0)
         | 
| 77 | 
            +
                  rack (~> 1.0)
         | 
| 78 | 
            +
                  tilt (~> 1.1, != 1.3.0)
         | 
| 79 | 
            +
                sprockets-rails (2.0.0.rc4)
         | 
| 80 | 
            +
                  actionpack (>= 3.0)
         | 
| 81 | 
            +
                  activesupport (>= 3.0)
         | 
| 82 | 
            +
                  sprockets (~> 2.8)
         | 
| 83 | 
            +
                thor (0.18.1)
         | 
| 84 | 
            +
                thread_safe (0.1.0)
         | 
| 85 | 
            +
                  atomic
         | 
| 86 | 
            +
                tilt (1.4.1)
         | 
| 87 | 
            +
                treetop (1.4.12)
         | 
| 88 | 
            +
                  polyglot
         | 
| 89 | 
            +
                  polyglot (>= 0.3.1)
         | 
| 90 | 
            +
                tzinfo (0.3.37)
         | 
| 91 | 
            +
             | 
| 92 | 
            +
            PLATFORMS
         | 
| 93 | 
            +
              ruby
         | 
| 94 | 
            +
             | 
| 95 | 
            +
            DEPENDENCIES
         | 
| 96 | 
            +
              bundler (~> 1.3.0)
         | 
| 97 | 
            +
              haml!
         | 
| 98 | 
            +
              minitest
         | 
| 99 | 
            +
              nokogiri
         | 
| 100 | 
            +
              rails (~> 4.0.0.beta1)!
         | 
| 101 | 
            +
              rbench
         | 
    
        data/test/helper_test.rb
    CHANGED
    
    | @@ -497,6 +497,14 @@ HAML | |
| 497 497 | 
             
                assert_equal ""><&", Haml::Helpers.html_escape('"><&')
         | 
| 498 498 | 
             
              end
         | 
| 499 499 |  | 
| 500 | 
            +
              def test_html_escape_should_work_on_frozen_strings
         | 
| 501 | 
            +
                begin
         | 
| 502 | 
            +
                  assert Haml::Helpers.html_escape('foo'.freeze)
         | 
| 503 | 
            +
                rescue => e
         | 
| 504 | 
            +
                  flunk e.message
         | 
| 505 | 
            +
                end
         | 
| 506 | 
            +
              end
         | 
| 507 | 
            +
             | 
| 500 508 | 
             
              def test_html_escape_encoding
         | 
| 501 509 | 
             
                old_stderr, $stderr = $stderr, StringIO.new
         | 
| 502 510 | 
             
                string = "\"><&\u00e9" # if you're curious, u00e9 is "LATIN SMALL LETTER E WITH ACUTE"
         | 
| @@ -506,6 +514,11 @@ HAML | |
| 506 514 | 
             
                $stderr = old_stderr
         | 
| 507 515 | 
             
              end
         | 
| 508 516 |  | 
| 517 | 
            +
              def test_html_escape_non_string
         | 
| 518 | 
            +
                assert_equal('4.58', Haml::Helpers.html_escape(4.58))
         | 
| 519 | 
            +
                assert_equal('4.58', Haml::Helpers.html_escape_without_haml_xss(4.58))
         | 
| 520 | 
            +
              end
         | 
| 521 | 
            +
             | 
| 509 522 | 
             
              def test_escape_once
         | 
| 510 523 | 
             
                assert_equal ""><&", Haml::Helpers.escape_once('"><&')
         | 
| 511 524 | 
             
              end
         | 
    
        data/test/template_test.rb
    CHANGED
    
    | @@ -111,7 +111,7 @@ class TemplateTest < MiniTest::Unit::TestCase | |
| 111 111 | 
             
              end
         | 
| 112 112 |  | 
| 113 113 | 
             
              TEMPLATES.each do |template|
         | 
| 114 | 
            -
                define_method "test_template_should_render_correctly [template: #{template}] | 
| 114 | 
            +
                define_method "test_template_should_render_correctly [template: #{template}]" do
         | 
| 115 115 | 
             
                  assert_renders_correctly template
         | 
| 116 116 | 
             
                end
         | 
| 117 117 | 
             
              end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,8 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: haml
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
               | 
| 5 | 
            -
              version: 4.0.2
         | 
| 4 | 
            +
              version: 4.0.3
         | 
| 6 5 | 
             
            platform: ruby
         | 
| 7 6 | 
             
            authors:
         | 
| 8 7 | 
             
            - Nathan Weizenbaum
         | 
| @@ -11,100 +10,84 @@ authors: | |
| 11 10 | 
             
            autorequire: 
         | 
| 12 11 | 
             
            bindir: bin
         | 
| 13 12 | 
             
            cert_chain: []
         | 
| 14 | 
            -
            date: 2013- | 
| 13 | 
            +
            date: 2013-05-21 00:00:00.000000000 Z
         | 
| 15 14 | 
             
            dependencies:
         | 
| 16 15 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 17 | 
            -
               | 
| 18 | 
            -
             | 
| 16 | 
            +
              name: tilt
         | 
| 17 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 19 18 | 
             
                requirements:
         | 
| 20 | 
            -
                - -  | 
| 19 | 
            +
                - - '>='
         | 
| 21 20 | 
             
                  - !ruby/object:Gem::Version
         | 
| 22 21 | 
             
                    version: '0'
         | 
| 23 | 
            -
              name: tilt
         | 
| 24 22 | 
             
              type: :runtime
         | 
| 25 23 | 
             
              prerelease: false
         | 
| 26 | 
            -
               | 
| 27 | 
            -
                none: false
         | 
| 24 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 28 25 | 
             
                requirements:
         | 
| 29 | 
            -
                - -  | 
| 26 | 
            +
                - - '>='
         | 
| 30 27 | 
             
                  - !ruby/object:Gem::Version
         | 
| 31 28 | 
             
                    version: '0'
         | 
| 32 29 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 33 | 
            -
               | 
| 34 | 
            -
             | 
| 30 | 
            +
              name: rails
         | 
| 31 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 35 32 | 
             
                requirements:
         | 
| 36 | 
            -
                - -  | 
| 33 | 
            +
                - - '>='
         | 
| 37 34 | 
             
                  - !ruby/object:Gem::Version
         | 
| 38 35 | 
             
                    version: 3.0.0
         | 
| 39 | 
            -
              name: rails
         | 
| 40 36 | 
             
              type: :development
         | 
| 41 37 | 
             
              prerelease: false
         | 
| 42 | 
            -
               | 
| 43 | 
            -
                none: false
         | 
| 38 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 44 39 | 
             
                requirements:
         | 
| 45 | 
            -
                - -  | 
| 40 | 
            +
                - - '>='
         | 
| 46 41 | 
             
                  - !ruby/object:Gem::Version
         | 
| 47 42 | 
             
                    version: 3.0.0
         | 
| 48 43 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 49 | 
            -
               | 
| 50 | 
            -
             | 
| 44 | 
            +
              name: rbench
         | 
| 45 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 51 46 | 
             
                requirements:
         | 
| 52 | 
            -
                - -  | 
| 47 | 
            +
                - - '>='
         | 
| 53 48 | 
             
                  - !ruby/object:Gem::Version
         | 
| 54 49 | 
             
                    version: '0'
         | 
| 55 | 
            -
              name: rbench
         | 
| 56 50 | 
             
              type: :development
         | 
| 57 51 | 
             
              prerelease: false
         | 
| 58 | 
            -
               | 
| 59 | 
            -
                none: false
         | 
| 52 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 60 53 | 
             
                requirements:
         | 
| 61 | 
            -
                - -  | 
| 54 | 
            +
                - - '>='
         | 
| 62 55 | 
             
                  - !ruby/object:Gem::Version
         | 
| 63 56 | 
             
                    version: '0'
         | 
| 64 57 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 65 | 
            -
               | 
| 66 | 
            -
             | 
| 58 | 
            +
              name: minitest
         | 
| 59 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 67 60 | 
             
                requirements:
         | 
| 68 | 
            -
                - -  | 
| 61 | 
            +
                - - '>='
         | 
| 69 62 | 
             
                  - !ruby/object:Gem::Version
         | 
| 70 63 | 
             
                    version: '0'
         | 
| 71 | 
            -
              name: minitest
         | 
| 72 64 | 
             
              type: :development
         | 
| 73 65 | 
             
              prerelease: false
         | 
| 74 | 
            -
               | 
| 75 | 
            -
                none: false
         | 
| 66 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 76 67 | 
             
                requirements:
         | 
| 77 | 
            -
                - -  | 
| 68 | 
            +
                - - '>='
         | 
| 78 69 | 
             
                  - !ruby/object:Gem::Version
         | 
| 79 70 | 
             
                    version: '0'
         | 
| 80 71 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 81 | 
            -
               | 
| 82 | 
            -
             | 
| 72 | 
            +
              name: nokogiri
         | 
| 73 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 83 74 | 
             
                requirements:
         | 
| 84 | 
            -
                - -  | 
| 75 | 
            +
                - - '>='
         | 
| 85 76 | 
             
                  - !ruby/object:Gem::Version
         | 
| 86 77 | 
             
                    version: '0'
         | 
| 87 | 
            -
              name: nokogiri
         | 
| 88 78 | 
             
              type: :development
         | 
| 89 79 | 
             
              prerelease: false
         | 
| 90 | 
            -
               | 
| 91 | 
            -
                none: false
         | 
| 80 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 92 81 | 
             
                requirements:
         | 
| 93 | 
            -
                - -  | 
| 82 | 
            +
                - - '>='
         | 
| 94 83 | 
             
                  - !ruby/object:Gem::Version
         | 
| 95 84 | 
             
                    version: '0'
         | 
| 96 | 
            -
            description:  | 
| 97 | 
            -
              or XML that' | 
| 98 | 
            -
             | 
| 85 | 
            +
            description: |
         | 
| 86 | 
            +
              Haml (HTML Abstraction Markup Language) is a layer on top of HTML or XML that's
         | 
| 99 87 | 
             
              designed to express the structure of documents in a non-repetitive, elegant, and
         | 
| 100 | 
            -
             | 
| 101 88 | 
             
              easy way by using indentation rather than closing tags and allowing Ruby to be
         | 
| 102 | 
            -
             | 
| 103 89 | 
             
              embedded with ease. It was originally envisioned as a plugin for Ruby on Rails,
         | 
| 104 | 
            -
             | 
| 105 90 | 
             
              but it can function as a stand-alone templating engine.
         | 
| 106 | 
            -
             | 
| 107 | 
            -
            '
         | 
| 108 91 | 
             
            email:
         | 
| 109 92 | 
             
            - haml@googlegroups.com
         | 
| 110 93 | 
             
            - norman@njclarke.com
         | 
| @@ -145,7 +128,9 @@ files: | |
| 145 128 | 
             
            - test/gemfiles/Gemfile.rails-3.0.x
         | 
| 146 129 | 
             
            - test/gemfiles/Gemfile.rails-3.1.x
         | 
| 147 130 | 
             
            - test/gemfiles/Gemfile.rails-3.2.x
         | 
| 131 | 
            +
            - test/gemfiles/Gemfile.rails-3.2.x.lock
         | 
| 148 132 | 
             
            - test/gemfiles/Gemfile.rails-4.0.x
         | 
| 133 | 
            +
            - test/gemfiles/Gemfile.rails-4.0.x.lock
         | 
| 149 134 | 
             
            - test/helper_test.rb
         | 
| 150 135 | 
             
            - test/markaby/standard.mab
         | 
| 151 136 | 
             
            - test/mocks/article.rb
         | 
| @@ -213,53 +198,41 @@ files: | |
| 213 198 | 
             
            homepage: http://haml.info/
         | 
| 214 199 | 
             
            licenses:
         | 
| 215 200 | 
             
            - MIT
         | 
| 216 | 
            -
             | 
| 201 | 
            +
            metadata: {}
         | 
| 202 | 
            +
            post_install_message: |2+
         | 
| 217 203 |  | 
| 218 204 | 
             
              HEADS UP! Haml 4.0 has many improvements, but also has changes that may break
         | 
| 219 | 
            -
             | 
| 220 205 | 
             
              your application:
         | 
| 221 206 |  | 
| 222 | 
            -
             | 
| 223 207 | 
             
              * Support for Ruby 1.8.6 dropped
         | 
| 224 | 
            -
             | 
| 225 208 | 
             
              * Support for Rails 2 dropped
         | 
| 226 | 
            -
             | 
| 227 209 | 
             
              * Sass filter now always outputs <style> tags
         | 
| 228 | 
            -
             | 
| 229 210 | 
             
              * Data attributes are now hyphenated, not underscored
         | 
| 230 | 
            -
             | 
| 231 211 | 
             
              * html2haml utility moved to the html2haml gem
         | 
| 232 | 
            -
             | 
| 233 212 | 
             
              * Textile and Maruku filters moved to the haml-contrib gem
         | 
| 234 213 |  | 
| 235 | 
            -
             | 
| 236 214 | 
             
              For more info see:
         | 
| 237 215 |  | 
| 238 | 
            -
             | 
| 239 216 | 
             
              http://rubydoc.info/github/haml/haml/file/CHANGELOG.md
         | 
| 240 217 |  | 
| 241 | 
            -
             | 
| 242 | 
            -
            '
         | 
| 243 218 | 
             
            rdoc_options: []
         | 
| 244 219 | 
             
            require_paths:
         | 
| 245 220 | 
             
            - lib
         | 
| 246 221 | 
             
            required_ruby_version: !ruby/object:Gem::Requirement
         | 
| 247 | 
            -
              none: false
         | 
| 248 222 | 
             
              requirements:
         | 
| 249 | 
            -
              - -  | 
| 223 | 
            +
              - - '>='
         | 
| 250 224 | 
             
                - !ruby/object:Gem::Version
         | 
| 251 225 | 
             
                  version: '0'
         | 
| 252 226 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 253 | 
            -
              none: false
         | 
| 254 227 | 
             
              requirements:
         | 
| 255 | 
            -
              - -  | 
| 228 | 
            +
              - - '>='
         | 
| 256 229 | 
             
                - !ruby/object:Gem::Version
         | 
| 257 230 | 
             
                  version: '0'
         | 
| 258 231 | 
             
            requirements: []
         | 
| 259 232 | 
             
            rubyforge_project: 
         | 
| 260 | 
            -
            rubygems_version:  | 
| 233 | 
            +
            rubygems_version: 2.0.3
         | 
| 261 234 | 
             
            signing_key: 
         | 
| 262 | 
            -
            specification_version:  | 
| 235 | 
            +
            specification_version: 4
         | 
| 263 236 | 
             
            summary: An elegant, structured (X)HTML/XML templating engine.
         | 
| 264 237 | 
             
            test_files:
         | 
| 265 238 | 
             
            - test/engine_test.rb
         |