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
Ismael Celis
d03c4ae8e8
Allow Utils.to_number to work with anything that responds to #to_number
2016-03-30 01:57:21 -03:00
Jeroen Visser
04c393ab07
Use start_with? instead of Regex
...
Performance is increased by doing this:
require 'benchmark'
require 'tempfile'
n = 50000
test = File.expand_path(Tempfile.new('foo'))
Benchmark.bm(20) do |x|
x.report("Regex:") do
n.times { test =~ /\A#{test}/ }
end
x.report("String#start_with?:") do
n.times { test =~ test.start_with?(test) }
end
end
Benchmark result:
user system total real
Regex: 0.440000 0.010000 0.450000 ( 0.447357)
String#start_with?: 0.000000 0.000000 0.000000 ( 0.006313)
2016-03-21 14:23:35 +01:00
Gaurav Chande
dde00253f9
context is not always present on a Drop
2016-03-01 21:22:11 +00:00
Gaurav Chande
8e6b9d503d
Make Strainer also raise when registered method is overriden as protected
2016-02-24 20:23:49 +00:00
Gaurav Chande
8be38d1795
Strainer#add_filter should raise when registered method is overriden as private
2016-02-24 20:03:17 +00:00
Justin Li
0cc8b68a97
Make logic in Context#lookup_and_evaluate more understandable
2016-02-02 23:22:46 -05:00
Justin Li
a6fa4c5c38
Merge pull request #691 from urbandictionary/missing_variables_and_filters
...
Merge pull request 691
2016-02-02 23:13:44 -05:00
Ivan Kuznetsov
dadd9b4dd2
Add strict_variables/strict_filters render options to check for undefined variables and filters
2016-02-03 10:49:33 +07:00
Justin Li
6434b8d2bb
Merge pull request #696 from Shopify/no-send
...
Remove possibility for arbitrary sends
2016-02-02 11:01:46 -05:00
Justin Li
60b508b151
Use #each to avoid extra allocations
2016-02-01 13:01:25 -05:00
Justin Li
3891f14a1a
Take nested values into account for assign score
2016-02-01 13:01:25 -05:00
Justin Li
f2e6adf566
Remove arbitrary send vector
2016-02-01 11:38:40 -05:00
Pat Hawks
7e322f5cf8
Performance improvement: default filter
2016-01-23 23:18:51 -08:00
Florian Weingarten
4bc198a0db
4.0.0.rc1
2016-01-08 19:59:38 +00:00
Florian Weingarten
79e2d1d8b4
Liquid::TablerowloopDrop
2016-01-08 18:46:23 +00:00
Florian Weingarten
b7c4041db8
Merge pull request #681 from Shopify/save-some-loop-allocations
...
Reuse 'forloop' hash to save memory allocations
2016-01-06 22:47:39 +01:00
Florian Weingarten
e113c891ec
Convert forloop hash to drop
2016-01-06 21:30:32 +00:00
Guillaume Malette
a32ad449c0
Merge pull request #672 from Shopify/fix-proc-mapping
...
Test mapping over procs
2016-01-06 15:59:53 -05:00
Florian Weingarten
1662ba6679
Reuse 'forloop' hash to save memory allocations
2016-01-06 20:30:25 +00:00
Jonathan Cheatham
b892a73463
Ensure truncate is operating on a string
2015-12-22 19:40:35 -08:00
Guillaume Malette
0b55d09cea
Fix mapping over proc attributes
2015-11-20 13:04:42 -05:00
Dylan Thacker-Smith
bdb9a4a47f
Remove nil and empty string check in invoke_drop.
2015-11-09 15:03:36 -05:00
Tanel Jakobsoo
8d5a907dc8
Fixed issue where "nil" value for "escape" filter breaks rendering
...
Closes #664
2015-11-06 16:32:02 +02:00
Florian Weingarten
74cc41ce74
Merge pull request #662 from nickpearson/keep-argument-error-backtrace
...
Keep original stack trace in Liquid::ArgumentError
2015-10-29 15:24:54 +01:00
Nick Pearson
c582023321
Keep original stack trace in Liquid::ArgumentError
2015-10-29 08:15:37 -05:00
Thierry Joyal
ac041c4ad1
Rename before_method as liquid_method_missing
2015-10-28 17:28:19 +00:00
Justin Li
8612716129
Remove rescue in unescape filter
2015-10-21 02:01:21 -04:00
Larry Archer
04381418d3
Add url_decode filter to accompany url_encode
2015-10-21 01:58:22 -04:00
Marcel M. Cary
4100f8d641
Fix "sort" filter on empty array to return empty array
...
When sorting an empty array with the "sort" filter, it returns nil
instead of []. This confuses subsequent filters in the chain that
expect an array. For example, when followed by the "map" filter, it
produces an array containing one nil element: [nil].
I could special-case the nil return value, but that would be more
cumbersome than making sure "sort" always returns an array.
Add a case to the "sort" method to return [] if the array is empty,
before performing any checks on ary.first that assume a non-empty array.
There is still a danger of returning nil if the first item in the array
is nil and it is non-empty, but I'm not sure how better to handle that
case.
Apply a similar fix to sort_natural, uniq, and compact filters.
2015-09-29 10:24:31 -07:00
Dylan Thacker-Smith
704937bc00
Fix offenses from the new version of rubocop.
2015-09-25 19:34:44 -04:00
Justin Li
affae5ebef
Merge pull request #610 from boobooninja/gf3
...
Merge pull request 610
2015-08-03 20:50:14 -04:00
Akinori MUSHA
a215b70de9
Properly rescue ::ArgumentError in the date filter
2015-07-24 13:35:06 +09:00
Florian Weingarten
4d6dec9b5a
Fix chained access to multi-dimensional hash
2015-07-17 10:10:00 -04:00
Loren Hale
0b11b573d9
add global_filter
...
add a global filter using a proc
only add one proc and not an array
add tests to make sure the global_filter is applied after native filters
2015-07-12 16:46:43 +08:00
Justin Li
b4e133e26f
Fix regression in range lookup
2015-07-09 13:21:46 -04:00
Justin Li
1f9bd1d809
Add param to accept invalid input in to_integer
2015-07-09 13:18:06 -04:00
Dylan Thacker-Smith
14416b3c49
Move the syntax error rescue for adding error line numbers.
2015-07-09 11:25:05 -04:00
Dylan Thacker-Smith
c535af021a
Rename options instance variable in Variable and Tag.
2015-07-08 19:59:44 -04:00
Dylan Thacker-Smith
73834a7e52
Use reject rather than dup and delete.
2015-07-08 19:27:24 -04:00
Dylan Thacker-Smith
c45310170b
Use parse_context or options instead of @options.
2015-07-08 19:21:59 -04:00
Dylan Thacker-Smith
920e1df643
Rescue and re-raise syntax errors in Template#parse to add line numbers.
...
This can be done now that the parse context has the line number
information, so it doesn't need to be added on closer to the original
exception. This has the advantage of not having to rescue and re-raise the
exception multiple times, and simplifies liquid-c which would otherwise
have to rescue the exception in BlockBody#parse.
2015-07-08 19:21:59 -04:00
Dylan Thacker-Smith
cebf75b8d7
Implement line numbers without the Liquid::Token class.
2015-07-08 19:21:59 -04:00