liquid 2.5.4 → 2.5.5
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.
- checksums.yaml +5 -13
 - data/History.md +7 -1
 - data/lib/liquid/tags/if.rb +3 -3
 - data/test/liquid/tags/if_else_tag_test.rb +6 -0
 - metadata +5 -5
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,15 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
              data.tar.gz: !binary |-
         
     | 
| 
       6 
     | 
    
         
            -
                MDY1NTZhOTA3OTA2MDI1ODNkZGIwYzQxZWQ1M2M3ZmE1NmIzNmM5YQ==
         
     | 
| 
      
 2 
     | 
    
         
            +
            SHA1:
         
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 187e926592d08a1fdfe6c92a4438d2a28e3bef15
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: da01b50919773dac4c35363aecc4d10c991c4ed7
         
     | 
| 
       7 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       8 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
                ZmQzNTAwMzMwYTgyODIyMjc2ZWRkMTg2ZmE5MjJjM2NkNDRkNGExNzU1ZjZk
         
     | 
| 
       11 
     | 
    
         
            -
                NDQ4NDJjMTU0MWE5OTUwNWMwYzZjYmQyNDMzNmNkZjFmMDgzZjM=
         
     | 
| 
       12 
     | 
    
         
            -
              data.tar.gz: !binary |-
         
     | 
| 
       13 
     | 
    
         
            -
                MzYzOWExZmQ5ODI2M2IwYmI4NzIwMDc0ZWU3ZjNmN2E4NThlYjczOTNkMGJi
         
     | 
| 
       14 
     | 
    
         
            -
                YzRiODRiNWI4ZDFkZGZlYzUwYzNhMzE4MmZmY2M3ODQ0N2M2OTQ0NDA0MGYw
         
     | 
| 
       15 
     | 
    
         
            -
                MjVjZmEzYzAzMTc2N2JiNTAyOWIxMjViYWEyNjhjMzI4ZDFjMjY=
         
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 0f676eb449b0af41596e80b8f9bbdc76ae101339a2a4cf97d65b1a75a1d9a1bd3ccdeb9787d53f61080d5f7c1c9456e3cec550e5c0d8f4f848d9c27acd7e5d37
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: c2c869dfd70ef5ecafb1c2095cc513e7b38d1a023bca6fb6ebfebee1374e07c6a3043f52396a55601c60dd71abe90ca6f71c0ff112d250285aaf70d9fe738023
         
     | 
    
        data/History.md
    CHANGED
    
    | 
         @@ -1,6 +1,12 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # Liquid Version History
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
            ## 2.5. 
     | 
| 
      
 3 
     | 
    
         
            +
            ## 2.5.5 / 2014-01-10 / branch "2-5-stable"
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            Security fix, cherry-picked from master (4e14a65):
         
     | 
| 
      
 6 
     | 
    
         
            +
            * Don't call to_sym when creating conditions for security reasons, see #273 [Bouke van der Bijl, bouk]
         
     | 
| 
      
 7 
     | 
    
         
            +
            * Prevent arbitrary method invocation on condition objects, see #274 [Dylan Thacker-Smith, dylanahsmith]
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            ## 2.5.4 / 2013-11-11
         
     | 
| 
       4 
10 
     | 
    
         | 
| 
       5 
11 
     | 
    
         
             
            * Fix "can't convert Fixnum into String" for "replace", see #173, [wǒ_is神仙, jsw0528]
         
     | 
| 
       6 
12 
     | 
    
         | 
    
        data/lib/liquid/tags/if.rb
    CHANGED
    
    | 
         @@ -15,6 +15,7 @@ module Liquid 
     | 
|
| 
       15 
15 
     | 
    
         
             
                SyntaxHelp = "Syntax Error in tag 'if' - Valid syntax: if [expression]"
         
     | 
| 
       16 
16 
     | 
    
         
             
                Syntax = /(#{QuotedFragment})\s*([=!<>a-z_]+)?\s*(#{QuotedFragment})?/o
         
     | 
| 
       17 
17 
     | 
    
         
             
                ExpressionsAndOperators = /(?:\b(?:\s?and\s?|\s?or\s?)\b|(?:\s*(?!\b(?:\s?and\s?|\s?or\s?)\b)(?:#{QuotedFragment}|\S+)\s*)+)/o
         
     | 
| 
      
 18 
     | 
    
         
            +
                BOOLEAN_OPERATORS = %w(and or)
         
     | 
| 
       18 
19 
     | 
    
         | 
| 
       19 
20 
     | 
    
         
             
                def initialize(tag_name, markup, tokens)
         
     | 
| 
       20 
21 
     | 
    
         
             
                  @blocks = []
         
     | 
| 
         @@ -61,7 +62,8 @@ module Liquid 
     | 
|
| 
       61 
62 
     | 
    
         
             
                        raise(SyntaxError, SyntaxHelp) unless expressions.shift.to_s =~ Syntax
         
     | 
| 
       62 
63 
     | 
    
         | 
| 
       63 
64 
     | 
    
         
             
                        new_condition = Condition.new($1, $2, $3)
         
     | 
| 
       64 
     | 
    
         
            -
                         
     | 
| 
      
 65 
     | 
    
         
            +
                        raise SyntaxError, "invalid boolean operator" unless BOOLEAN_OPERATORS.include?(operator)
         
     | 
| 
      
 66 
     | 
    
         
            +
                        new_condition.send(operator, condition)
         
     | 
| 
       65 
67 
     | 
    
         
             
                        condition = new_condition
         
     | 
| 
       66 
68 
     | 
    
         
             
                      end
         
     | 
| 
       67 
69 
     | 
    
         | 
| 
         @@ -71,8 +73,6 @@ module Liquid 
     | 
|
| 
       71 
73 
     | 
    
         
             
                    @blocks.push(block)
         
     | 
| 
       72 
74 
     | 
    
         
             
                    @nodelist = block.attach(Array.new)
         
     | 
| 
       73 
75 
     | 
    
         
             
                  end
         
     | 
| 
       74 
     | 
    
         
            -
             
     | 
| 
       75 
     | 
    
         
            -
             
     | 
| 
       76 
76 
     | 
    
         
             
              end
         
     | 
| 
       77 
77 
     | 
    
         | 
| 
       78 
78 
     | 
    
         
             
              Template.register_tag('if', If)
         
     | 
| 
         @@ -157,4 +157,10 @@ class IfElseTagTest < Test::Unit::TestCase 
     | 
|
| 
       157 
157 
     | 
    
         
             
                assert_template_result('yes',
         
     | 
| 
       158 
158 
     | 
    
         
             
                                       %({% if 'gnomeslab-and-or-liquid' contains 'gnomeslab-and-or-liquid' %}yes{% endif %}))
         
     | 
| 
       159 
159 
     | 
    
         
             
              end
         
     | 
| 
      
 160 
     | 
    
         
            +
             
     | 
| 
      
 161 
     | 
    
         
            +
              def test_operators_are_whitelisted
         
     | 
| 
      
 162 
     | 
    
         
            +
                assert_raise(SyntaxError) do
         
     | 
| 
      
 163 
     | 
    
         
            +
                  assert_template_result('', %({% if 1 or throw or or 1 %}yes{% endif %}))
         
     | 
| 
      
 164 
     | 
    
         
            +
                end
         
     | 
| 
      
 165 
     | 
    
         
            +
              end
         
     | 
| 
       160 
166 
     | 
    
         
             
            end # IfElseTest
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: liquid
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 2.5. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 2.5.5
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Tobias Luetke
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date:  
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2014-01-10 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies: []
         
     | 
| 
       13 
13 
     | 
    
         
             
            description: 
         
     | 
| 
       14 
14 
     | 
    
         
             
            email:
         
     | 
| 
         @@ -95,17 +95,17 @@ require_paths: 
     | 
|
| 
       95 
95 
     | 
    
         
             
            - lib
         
     | 
| 
       96 
96 
     | 
    
         
             
            required_ruby_version: !ruby/object:Gem::Requirement
         
     | 
| 
       97 
97 
     | 
    
         
             
              requirements:
         
     | 
| 
       98 
     | 
    
         
            -
              - -  
     | 
| 
      
 98 
     | 
    
         
            +
              - - '>='
         
     | 
| 
       99 
99 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       100 
100 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       101 
101 
     | 
    
         
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
       102 
102 
     | 
    
         
             
              requirements:
         
     | 
| 
       103 
     | 
    
         
            -
              - -  
     | 
| 
      
 103 
     | 
    
         
            +
              - - '>='
         
     | 
| 
       104 
104 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       105 
105 
     | 
    
         
             
                  version: 1.3.7
         
     | 
| 
       106 
106 
     | 
    
         
             
            requirements: []
         
     | 
| 
       107 
107 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       108 
     | 
    
         
            -
            rubygems_version: 2. 
     | 
| 
      
 108 
     | 
    
         
            +
            rubygems_version: 2.0.3
         
     | 
| 
       109 
109 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       110 
110 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       111 
111 
     | 
    
         
             
            summary: A secure, non-evaling end user template engine with aesthetic markup.
         
     |