Nick Pearson
c582023321
Keep original stack trace in Liquid::ArgumentError
2015-10-29 08:15:37 -05:00
Dylan Thacker-Smith
704937bc00
Fix offenses from the new version of rubocop.
2015-09-25 19:34:44 -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
Dylan Thacker-Smith
cebf75b8d7
Implement line numbers without the Liquid::Token class.
2015-07-08 19:21:59 -04:00
Gaurav Chande
3c23cfc167
Add Liquid::Tag#tag_name
2015-07-02 20:18:09 +00:00
Florian Weingarten
5919626da4
Rename 'has_key?' and 'has_interrupt?'
2015-06-04 13:14:46 -04:00
Florian Weingarten
82269e2509
fix a few more rubocop offenses
2015-06-04 13:09:58 -04:00
Florian Weingarten
e761a6864e
clean up some rubocop stuff
2015-06-04 12:56:29 -04:00
Gaurav Chande
6b0f6401d0
Merge pull request #590 from Shopify/allow-template-tags
...
Local Tags
2015-06-04 11:19:24 -04:00
Gaurav Chande
fc8e6c8d3a
Change Tokenizer test to fetch tokens instead of exposing ivar
2015-06-04 15:10:01 +00:00
Gaurav Chande
8b98f92c7f
Extract tokenize logic from Template to a RubyTokenizer
2015-06-04 04:39:30 +00:00
Dylan Thacker-Smith
8a2947865b
Avoid an exception from checking if a string contains a non-string.
2015-06-03 02:21:51 -04:00
Florian Weingarten
f4724f0db3
Remove support for liquid_methods Module extension
2015-05-14 14:44:19 +00:00
Florian Weingarten
3372ca8136
Rubocop
2015-05-14 14:37:18 +00:00
James Reid-Smith
4592afcc8b
Updated History.md and removed a couple remaining methods using the old signature
2015-04-27 15:45:44 +00:00
Justin Li
f1f3f57647
Remove command_lookups reader
2015-04-21 00:25:51 -04:00
Justin Li
e5dd63e1fc
Expose name, lookups, and command flags from VariableLookup
2015-04-20 17:36:04 -04:00
Dylan Thacker-Smith
950f062041
Allow filters to redefine Object methods to make them invokable.
2015-02-03 13:51:33 -05:00
Dylan Thacker-Smith
73fcd42403
Create a BlockBody class to decouple block body parsing from tags.
2014-11-03 17:07:42 -05:00
Justin Li
dd5ee81089
Disallow number and dash identifier prefixes
2014-10-29 12:08:00 -04:00
Justin Li
a07e382617
Use a single token for identifiers
2014-10-29 11:28:41 -04:00
Dylan Thacker-Smith
f5faa4858c
Remove parsed expression cache.
2014-10-18 15:03:40 -04:00
Dylan Thacker-Smith
a1a128db19
Refactor Condition so that it takes a parsed expression.
2014-10-18 15:03:40 -04:00
Florian Weingarten
7196a2d58e
Avoid parallel assignments
2014-10-18 13:58:32 +00:00
Justin Li
b4ea483c4e
Separate ? and - into special tokens
2014-10-17 13:30:54 -04:00
Dylan Thacker-Smith
f387508666
Parse expressions in Liquid::Variable#parse.
2014-10-08 21:06:59 -04:00
Bogdan Gusiev
4e9d414fde
Fixed condition constains operator with wrong data type
...
"contains" operator on wrong data type should not cause NoMethodError.
2014-08-18 17:32:29 +03:00
Jason Roelofs
173a58d36a
Profile liquid rendering
...
Add a simple profiling system to liquid rendering. Each
liquid tag ({{ }} and {% %}) is processed through this profiling,
keeping track of the partial name (in the case of {% include %}), line
number, and the time it took to render the tag. In the case of {%
include %}, the profiler keeps track of the name of the partial and
properly links back tag rendering to the partial and line number for
easy lookup and dive down. With this, it's now possible to track down
exactly how long each tag takes to render.
These hooks get installed and uninstalled on an as-need basis so by
default there is no impact on the overall liquid execution speed.
2014-08-12 15:37:21 -04:00
Ken Dreyer
ee4295c889
tests: switch to minitest
...
Ruby 1.9+ uses Minitest as the backend for Test::Unit. As of Minitest 5,
the shim has broken some compatibility with Test::Unit::TestCase in some
scenarios.
Adjusts the test suite to support Minitest 5's syntax.
Minitest versions 4 and below do not support the newer Minitest::Test
class that arrived in version 5. For that case, use the
MiniTest::Unit::TestCase class as a fallback
Conflicts:
test/integration/tags/for_tag_test.rb
test/test_helper.rb
2014-07-28 16:36:38 +00:00
Jason Hiltz-Laforge
052ef9fcb8
Reorder constructor to avoid referencing uninitialized variable when environment contains a self-referencing proc
2014-07-24 18:58:23 +00:00
Arthur Nogueira Neves
c864a75903
Merge pull request #341 from curebit/comparation_argument_error
...
Raise Liquid::ArugmentError when condition has wrong usage
2014-07-23 17:03:31 -04:00
Jason Hiltz-Laforge
0df3f1c372
Cache parsed markup parts to avoid repeated calls during template render
2014-07-21 15:55:06 +00:00
Jason Hiltz-Laforge
fd8c30070a
Adding tests, spy dependency
2014-07-16 15:05:45 +00:00
Florian Weingarten
0ac3ec7834
Revert "Merge pull request #352 from gaiottino/master"
...
This reverts commit 553b0926ae , reversing
changes made to 628ab3dc6a .
2014-07-08 14:48:19 +00:00
David Cornu
f57383af37
Allow tag classes to be reloaded when using Liquid.cache_classes is false
...
Because Liquid keeps a reference to tag classes, Rails class reloading may
cause problems with custom tags. This commit introduces a setting that
allows these classes to be resolved when required.
2014-07-02 20:03:18 +00:00
Daniel Gaiottino
2bac6267f9
Add error messages for missing variables when :strict
2014-05-06 16:12:46 +02:00
Bogdan Gusiev
fa14fd02e7
Raise Liquid::ArugmentError when condition has wrong usage
...
Condition now raises ::ArgumentError when built wrongly.
This patch make it raise Liquid::ArgumentError instead
to indicate a liquid markup error instead of ruby error.
2014-04-21 16:42:37 +03:00
Dylan Thacker-Smith
7e45155aa9
Seperate unit and integration tests.
...
This makes it easier to re-use the integration tests in a seperate gem that
optimizes parts of liquid with a native implementation.
2014-03-26 15:47:07 -04:00