liquid 2.2.2 → 2.3.0

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.
Files changed (51) hide show
  1. data/{History.txt → History.md} +26 -23
  2. data/README.md +18 -16
  3. data/lib/liquid.rb +1 -4
  4. data/lib/liquid/block.rb +2 -2
  5. data/lib/liquid/context.rb +29 -33
  6. data/lib/liquid/drop.rb +11 -13
  7. data/lib/liquid/extensions.rb +13 -7
  8. data/lib/liquid/file_system.rb +2 -2
  9. data/lib/liquid/htmltags.rb +5 -4
  10. data/lib/liquid/standardfilters.rb +12 -1
  11. data/lib/liquid/strainer.rb +1 -1
  12. data/lib/liquid/tags/capture.rb +1 -1
  13. data/lib/liquid/tags/case.rb +4 -8
  14. data/lib/liquid/tags/decrement.rb +39 -0
  15. data/lib/liquid/tags/for.rb +20 -5
  16. data/lib/liquid/tags/include.rb +21 -12
  17. data/lib/liquid/tags/increment.rb +35 -0
  18. data/lib/liquid/tags/raw.rb +21 -0
  19. data/lib/liquid/tags/unless.rb +5 -5
  20. data/lib/liquid/template.rb +3 -2
  21. data/lib/liquid/variable.rb +1 -1
  22. data/test/liquid/assign_test.rb +15 -0
  23. data/test/liquid/block_test.rb +58 -0
  24. data/test/liquid/capture_test.rb +40 -0
  25. data/test/liquid/condition_test.rb +122 -0
  26. data/test/liquid/context_test.rb +478 -0
  27. data/test/liquid/drop_test.rb +162 -0
  28. data/test/liquid/error_handling_test.rb +81 -0
  29. data/test/liquid/file_system_test.rb +29 -0
  30. data/test/liquid/filter_test.rb +106 -0
  31. data/test/liquid/module_ex_test.rb +87 -0
  32. data/test/liquid/output_test.rb +116 -0
  33. data/test/liquid/parsing_quirks_test.rb +52 -0
  34. data/test/liquid/regexp_test.rb +44 -0
  35. data/test/liquid/security_test.rb +41 -0
  36. data/test/liquid/standard_filter_test.rb +191 -0
  37. data/test/liquid/strainer_test.rb +25 -0
  38. data/test/liquid/tags/html_tag_test.rb +29 -0
  39. data/test/liquid/tags/if_else_tag_test.rb +160 -0
  40. data/test/liquid/tags/include_tag_test.rb +139 -0
  41. data/test/liquid/tags/increment_tag_test.rb +24 -0
  42. data/test/liquid/tags/raw_tag_test.rb +15 -0
  43. data/test/liquid/tags/standard_tag_test.rb +461 -0
  44. data/test/liquid/tags/statements_test.rb +134 -0
  45. data/test/liquid/tags/unless_else_tag_test.rb +26 -0
  46. data/test/liquid/template_test.rb +74 -0
  47. data/test/liquid/variable_test.rb +170 -0
  48. data/test/test_helper.rb +29 -0
  49. metadata +67 -16
  50. data/Manifest.txt +0 -34
  51. data/lib/liquid/tags/literal.rb +0 -42
@@ -1,34 +0,0 @@
1
- CHANGELOG
2
- History.txt
3
- MIT-LICENSE
4
- Manifest.txt
5
- README.md
6
- Rakefile
7
- init.rb
8
- lib/extras/liquid_view.rb
9
- lib/liquid.rb
10
- lib/liquid/block.rb
11
- lib/liquid/condition.rb
12
- lib/liquid/context.rb
13
- lib/liquid/document.rb
14
- lib/liquid/drop.rb
15
- lib/liquid/errors.rb
16
- lib/liquid/extensions.rb
17
- lib/liquid/file_system.rb
18
- lib/liquid/htmltags.rb
19
- lib/liquid/module_ex.rb
20
- lib/liquid/standardfilters.rb
21
- lib/liquid/strainer.rb
22
- lib/liquid/tag.rb
23
- lib/liquid/tags/assign.rb
24
- lib/liquid/tags/capture.rb
25
- lib/liquid/tags/case.rb
26
- lib/liquid/tags/comment.rb
27
- lib/liquid/tags/cycle.rb
28
- lib/liquid/tags/for.rb
29
- lib/liquid/tags/if.rb
30
- lib/liquid/tags/ifchanged.rb
31
- lib/liquid/tags/include.rb
32
- lib/liquid/tags/unless.rb
33
- lib/liquid/template.rb
34
- lib/liquid/variable.rb
@@ -1,42 +0,0 @@
1
- module Liquid
2
-
3
- class Literal < Block
4
-
5
- # Class methods
6
-
7
- # Converts a shorthand Liquid literal into its long representation.
8
- #
9
- # Currently the Template parser only knows how to handle the long version.
10
- # So, it always checks if it is in the presence of a literal, in which case it gets converted through this method.
11
- #
12
- # Example:
13
- # Liquid::Literal "{{{ hello world }}}" #=> "{% literal %} hello world {% endliteral %}"
14
- def self.from_shorthand(literal)
15
- literal =~ LiteralShorthand ? "{% literal %}#{$1}{% endliteral %}" : literal
16
- end
17
-
18
- # Public instance methods
19
-
20
- def parse(tokens) # :nodoc:
21
- @nodelist ||= []
22
- @nodelist.clear
23
-
24
- while token = tokens.shift
25
- if token =~ FullToken && block_delimiter == $1
26
- end_tag
27
- return
28
- else
29
- @nodelist << token
30
- end
31
- end
32
-
33
- # Make sure that its ok to end parsing in the current block.
34
- # Effectively this method will throw and exception unless the current block is
35
- # of type Document
36
- assert_missing_delimitation!
37
- end # parse
38
-
39
- end
40
-
41
- Template.register_tag('literal', Literal)
42
- end