Simon Génier
a61903da54
Add support for iterating ranges with float boundaries.
...
The meaning I gave is to start at the lower bound and step by one. This has the
advantage of having (n..m) and ((n.to_f)..(m.to_f)) behave the same. Another
thing we could do that have this same property is to cast bounds to integer.
This would do the right thing if there is a floating point rounding error, but I
feel it is more surprising for cases such as (1.5..8).
Note that it is not possible to create ranges with floating point boundaries
directly in Liquid at the moment. However, since there is no distinction between
Ruby and Liquid ranges, a drop can introduce such a value by returning it.
2017-08-09 12:13:00 -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
c582b86f16
Merge pull request #898 from Shopify/cgi-powered-standard-filters-to-handle-non-string-inputs
...
CGI powered standard filters to handle non string inputs
2017-05-26 18:05:42 +00:00
Thierry Joyal
e340803d12
CGI powered standard filters to handle non string inputs
2017-05-25 15:53:41 +00:00
Dylan Thacker-Smith
48a6d86ac2
Use stackprof to test to lack of object allocations ( #896 )
2017-05-12 09:20:51 -04:00
Dylan Thacker-Smith
3bb29d5456
Replace assert_equal nil, with a assert_nil ( #895 )
2017-05-11 14:05:03 -04: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
Florian Weingarten
1370a102c9
Merge pull request #789 from evulse/contains-strict-fix
...
Allow variables to start with contains in strict parser
2017-03-24 09:50:31 -04:00
Mike Angell
c9bac9befe
Merge branch 'master' into contains-strict-fix
2017-03-24 11:09:09 +10:00
Mike
210a0616f3
Update History to include fix
2017-03-24 10:35:56 +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
Florian Weingarten
22f2cec5de
Merge pull request #864 from chenxianyu2015/fix-strainer-add_filter-method
...
fix #861 : duplicate inclusion condition logic error of Liquid::Strainer.add_filter method
2017-02-23 14:06:20 -05:00
chenxianyu
4318240ae0
test: modify Strainer.add_filter duplicate inclusion test case
2017-02-22 10:33:22 +08: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
Justin Li
41bcc48222
Merge pull request #854 from jaredbeck/patch-1
...
Docs: Help people upgrade to 4, re: liquid_methods
2017-02-10 19:25:04 -05:00
Dylan Thacker-Smith
27d5106dc9
Merge pull request #860 from Shopify/handle-string-node-render-exc
...
Avoid calling line_number on String node when rescuing a render error.
2017-02-10 14:13:11 -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
25c7b05916
Merge pull request #857 from Shopify/handle-join-on-fixnum
...
handle join on fixnum
2017-02-01 14:25:40 -05:00
Richard Monette
d17f86ba4d
handle join on fixnum
2017-02-01 12:47:35 -05:00
Jerry Liu
384e4313ff
Merge pull request #851 from Shopify/benchmark-render
...
Allow benchmarks to benchmark render by itself
2017-01-31 17:18:56 -05:00
Jerry Liu
23f2af8ff5
fix travis build
2017-01-31 17:04:36 -05:00
Jerry Liu
a93eac0268
Introduce new benchmarking methods to liquid to use on rubybench
2017-01-27 10:56:16 -05:00
Florian Weingarten
2cc7493cb0
Merge pull request #855 from Shopify/bundler-benchmark-group
...
Create a benchmark group in Gemfile
2017-01-20 16:41:11 -05:00
Jerry Liu
85463e1753
add benchmark-ips to benchmark group in Gemfile
2017-01-20 16:04:42 -05:00
Jared Beck
52ff9b0e84
Docs: Help people upgrade to 4, re: liquid_methods
...
The discussion in #568 helped me.
[ci skip]
2017-01-19 14:23:39 -05:00
Dylan Thacker-Smith
0c58328a40
test: Equality comparison of two hashes ( #850 )
2017-01-16 15:56:38 -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
Justin Li
ffb0ace303
Update changelog for 4.0.0
2016-12-16 13:11:22 -05:00
Florian Weingarten
ad00998ef8
bump to v4
v4.0.0
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
fae3a2de7b
Add version constraint to rake to fix CI ( #836 )
2016-12-09 14:01:15 -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
a9b84b7806
test: Use ruby 2.1 in Circle CI
2016-12-05 15:36:42 -05:00
Dylan Thacker-Smith
6cc2c567c5
Merge pull request #832 from Shopify/drop-ruby-2.0
...
Drop support for ruby 2.0
2016-12-05 13:56:15 -05:00
Dylan Thacker-Smith
812e3c51b9
test: Add ruby 2.3.3 to CI
...
Travis doesn't have a ruby 2.3 alias, so the latest 2.3.x version is
specified instead.
2016-12-05 13:53:02 -05:00
Dylan Thacker-Smith
9dd0801f5c
Drop support for ruby 2.0
...
It is no longer maintained upstream
2016-12-05 13:51:49 -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
43e59796f6
Merge pull request #805 from Shopify/dont-explode-when-sorting-nil-property
...
dont explode when sorting nil property
2016-10-05 10:18:16 -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