Dylan Thacker-Smith
730c99ae3e
refactor: Reduce maximum block nesting in Liquid::BlockBody#parse
2017-10-17 18:14:45 -04:00
Maxime Bedard
f761d21215
Use {} notation
2017-09-20 09:48:23 -04:00
Maxime Bedard
a796c17f8b
Avoid hash with default values due to inconsistent marshalling
2017-09-19 16:23:14 -04:00
Dylan Thacker-Smith
27c91203ab
Use replacement string for replace filters literally ( #924 )
2017-08-28 11:51:20 -04:00
Justin Li
44eaa4b9d8
Merge pull request #920 from Shopify/symbol_to_liquid
...
Support rendering symbols as strings
2017-08-18 12:10:53 -04:00
Pascal Betz
a979b3ec95
Do not raise when variable is defined but nil when using strict_variables
2017-08-18 12:09:57 -04:00
Justin Li
bf3e759da3
Support rendering symbols as strings
2017-08-17 23:10:57 -04:00
Rene
59162f7a0e
added attr_readers for collection and variable names in for tag ( #909 )
2017-07-06 09:41:48 -04:00
Thierry Joyal
e340803d12
CGI powered standard filters to handle non string inputs
2017-05-25 15:53:41 +00:00
Dylan Thacker-Smith
9c72ccb82f
Limit how much blocks can be nested during parsing ( #894 )
2017-05-11 09:37:53 -04:00
Dylan Thacker-Smith
62d4625468
Use a loop to strictly parse binary comparisons to avoid recursion ( #892 )
...
Using recursion allows a malicious template to cause a SystemStackError
2017-05-10 10:41:52 -04:00
Dylan Thacker-Smith
8928454e29
Use a loop to evaluate binary comparisions to avoid recursion ( #891 )
...
Using recursion allows a malicious template to cause a SystemStackError
2017-05-10 10:41:24 -04:00
Mike Angell
c9bac9befe
Merge branch 'master' into contains-strict-fix
2017-03-24 11:09:09 +10:00
Lasse Skindstad Ebert
5149cde5c3
Fix include tag used with strict_variables ( #829 )
...
Fixes https://github.com/Shopify/liquid/issues/828
2017-03-22 16:00:31 -04:00
chenxianyu
aa79c33dda
fix: Strainer.add_filter method
2017-02-13 15:50:19 +08:00
Justin Li
b1ef28566e
Merge pull request #846 from mrmanc/master
...
Clarifies spelling of for’s reversed flag to address #843
2017-02-10 19:26:38 -05:00
Dylan Thacker-Smith
7334073be2
Avoid duck typing to detect whether to call render on a node.
2017-02-10 13:49:26 -05:00
Dylan Thacker-Smith
5dcefd7d77
Avoid calling line_number on String node when rescuing a render error.
2017-02-07 15:34:10 -05:00
Richard Monette
d17f86ba4d
handle join on fixnum
2017-02-01 12:47:35 -05:00
Dylan Thacker-Smith
2bb3552033
Fix internal liquid error when comparing hash with incompatible type ( #849 )
2017-01-16 13:13:17 -05:00
Mark Crossfield
8b751ddf46
Removes a non ascii character from comment to appease Rubocop
2017-01-09 10:16:35 +00:00
Mark Crossfield
e5cbdb2b27
Clarifies spelling of for’s reversed flag to address #843
...
It should now be harder to read the docs and miss the extra letter required for reversed compared to reverse, which causes a fairly generic syntax warning when trying to reverse sort a collection in a for loop.
2017-01-08 12:44:12 +00:00
Florian Weingarten
ad00998ef8
bump to v4
2016-12-14 11:58:42 -05:00
Dylan Thacker-Smith
869dbc7ebf
feature: Allow a default exception renderer to be specified ( #837 )
...
This could be used to preserve the old default of rendering
non-Liquid::Error messages or for providing default behaviour like error
reporting which could be missed if the exception renderer needed to be
specified on each render.
2016-12-12 10:29:09 -05:00
Dylan Thacker-Smith
f27bd619b9
change: Render an opaque internal error by default for non-Liquid::Error ( #835 )
...
These errors may contain sensitive information, so is safer to
render a more vague message by default.
This is done by replacing non-Liquid::Error exceptions with a
Liquid::InternalError exception with the non-Liquid::Error accessible on
through the cause method. This also allows the template name and line
number to be attached to the template errors.
The exception_handler render option has been changed to exception_renderer
since now it should raise an exception to re-raise on a liquid rendering
error or return a string to be rendered where the error occurred.
2016-12-07 17:34:29 -05:00
Dylan Thacker-Smith
b146b49f46
fix: Clear the strainer cache when a global filter is added ( #826 )
2016-11-24 10:32:11 -05:00
Richard Monette
86944fe7b7
Merge pull request #809 from Shopify/introduce-unhandled-liquid-exception
...
introduce unhandled liquid exception
2016-10-31 10:20:06 -04:00
Richard Monette
a549d289d7
introduce unhandled liquid exception
...
check arity
2016-10-28 09:40:44 -04:00
Richard Monette
b2feeacbce
Merge pull request #812 from Shopify/allow-split-to-accept-numeric
...
allow split to accept numeric
2016-10-26 10:59:44 -04:00
Richard Monette
143ba39a08
allow split to accept numeric
2016-10-26 10:43:04 -04:00
Richard Monette
bb3624b799
dont explode when sorting nil property
2016-10-04 13:22:29 -04:00
Konstantin Tennhard
64fca66ef5
Merge pull request #797 from Shopify/truncatewords-resiliency
...
Standard filter truncate / truncatewords: force truncate_string to string
2016-09-13 10:43:55 -04:00
Florian Weingarten
e9d7486758
4.0.0.rc3
2016-09-13 06:33:20 -04:00
Konstantin Tennhard
95d5c24bfc
Standard filter truncate: truncate_string string coercion
...
The argument `truncate_string` is now coerced into a string to avoid
`NoMethodError`s. This is mostly for added resiliency. It is doubtful
that someone would actually intent to use a number as truncate string,
but accidentally supplying one is entirely possible.
2016-09-12 12:13:12 -04:00
Philibert Dugas
b7ee1a2176
Fixing #697 with better exception
...
When including a template which is not defined, the exception raised is
*undefined method `split` for nil:NilClass*
This occurs for a scenario like the following:
`{% include nil %}`
or
`{% include undefined-var %}`
Making the code raise an argument error to allow better understanding of
the include error
2016-09-12 09:31:59 -04:00
Konstantin Tennhard
302185a7fc
Standard filter truncatewords: force truncate_string to string
...
Currently, `truncatewords` raises a TypeError when the argument
`truncate_string` is an interger. This PR forces string coercion for any
value provided for this argument. Thus,
```ruby
assert_equal 'one two1', @filters.truncatewords("one two three", 2, 1)
```
holds true. Another option would be to raise a `Liquid::ArgumentError`.
What is preferred?
2016-09-09 16:50:50 -04:00
Michael Angell
6ed6e7e12f
Allow :id to start with the word contains
2016-08-20 20:32:46 +10:00
Michael Angell
283f1bad18
Use .last instead of pop push method for updating last node in nodelist
2016-07-08 20:49:30 +10:00
Michael Angell
e1d40c7d89
Add whitespace control character and associated tests
2016-06-28 09:15:45 +10:00
Zac Stewart
f87b06095d
Fix doc formatting of code examples in file_system
...
These code examples are being rendered as paragraph text in the docs.
2016-06-15 15:34:14 -04:00
Gaurav Chande
00f53b16e8
Prevent Range usage in templates from blowing up
2016-06-02 16:38:44 -04:00
Gaurav Chande
6adc431a19
Make tag registry enumerable
2016-04-25 11:38:42 -04:00
Drew Martin
a80ecb7678
make markup validation a method on Liquid::Raw
2016-04-13 14:52:30 -04:00
Florian Weingarten
f93243cc1a
abs filter
2016-04-04 09:32:31 -04:00
Florian Weingarten
1e533a52e7
Merge pull request #735 from Shopify/fix-to-number-for-negative-float-strings
...
Fix to_number filter for negative float strings
2016-03-31 15:52:51 -04:00
Dylan Thacker-Smith
4239c899a4
Raise a Liquid::Error when a non-array is passed into the concat filter.
2016-03-31 15:47:06 -04:00
Florian Weingarten
1597f8859f
Fix to_number filter for negative float strings
2016-03-31 09:18:55 -04:00
Florian Weingarten
b3dda384c9
Merge pull request #733 from Shopify/fix-some-ruby-warnings
...
Fix a bunch of Ruby warnings
2016-03-30 17:09:00 -04:00
Florian Weingarten
d2f16d92d6
Fix a bunch of Ruby warnings
2016-03-30 20:42:30 +00:00
Florian Weingarten
8920e2a2a2
Release v4.0.0rc2
2016-03-30 20:13:21 +00:00