Florian Weingarten
3dbb35d823
Merge branch 'freeze_all_the_things'
...
Conflicts:
History.md
lib/liquid/tags/assign.rb
lib/liquid/tags/capture.rb
lib/liquid/tags/decrement.rb
lib/liquid/tags/if.rb
2014-03-24 12:39:34 -04:00
Dylan Thacker-Smith
3b14e27f55
Allow newlines in tags and variables.
2014-03-20 17:27:03 -04:00
Dylan Thacker-Smith
503d924274
Use start and end of string rather than line matching in regexes.
2014-03-13 17:56:42 -04:00
Dylan Thacker-Smith
3c06d837b5
Speed up Context#increment_used_resources
2014-02-24 23:56:39 -05:00
Florian Weingarten
0a7de51e2b
Revert some freezes on non-literals
2014-01-27 14:56:07 -05:00
Florian Weingarten
c6e0c1e490
Fix resource counting bug with respond_to?(:length)
2014-01-08 13:00:53 -05:00
Florian Weingarten
43ac8d560b
Freeze all the things
2014-01-07 12:35:16 -05:00
James Tucker
9b2d5b7dd3
Add a class cache to avoid runtime extend calls
...
* Strainer has a class cache that creates Strainer subclasses for each filter
set that is used on .create calls.
* Context now creates a list of filters and passes this to Strainer.create to
utilize the class cache in almost all use cases.
* If add_filter was called after a render, then the method cache may still be
invalidated.
Conflicts:
lib/liquid/strainer.rb
2013-08-31 18:56:35 +00:00
Jonas Schubert Erlandsson
f91233450f
Changes not empty? to any?
2013-07-01 16:12:58 +02:00
Florian Weingarten
f4fb2f159c
Merge pull request #157 from stomar/avoid_warnings
...
Avoid warnings in Ruby 1.9.3
2013-06-05 09:10:41 -07:00
Florian Weingarten
8760b5e8c4
Add optional resource usage limitations to number of rendering calls, length of rendering output and/or number of variable/capture assignments
2013-05-30 17:04:26 -04:00
Dylan Smith
38b4543bf1
Use sets to check if methods are invokable without symbolizing.
2013-02-05 14:45:08 -05:00
Jason Roelofs
1300210f05
Convert Strainer to white-list method protection
...
After moving the method existence check from Context into Strainer,
updated Strainer to only accept invokation methods that were added via
filter Modules, and done in a way that respond_to? is never called,
preventing unconstrained Symbol table growth.
2013-01-16 11:14:01 -05:00
Marcus Stollsteimer
afc3944a4a
Fix assignment with no effect outside of iterator
2012-11-18 10:21:03 +01:00
Jon Daniel
9c183bea83
added interrupt class for continue/break statements
...
When a continue or break statement is executed it pushes an interrupt to a
stack in context. If any non-handled interrupts are present blocks will cease
to execute. The for loop can handle the most recent interrupt in the stack.
2012-08-21 13:14:27 -04:00
Dennis Theisen
0e3b522fe2
Fix conditions using negative number comparisons
2012-03-12 16:38:34 -04:00
Steven Soroka
59a63e0fe5
fix failing test "recursively_included_template_does_not_produce_endless_loop", push needs to come before exception raise since pop is in ensure block and always happens.
2011-04-24 01:09:56 -05:00
thedarkone and Tobias Lütke
a65c4f51bc
These are strings already.
2011-01-28 21:16:22 -05:00
thedarkone and Tobias Lütke
a24049906b
Resolve literals faster.
2011-01-28 21:16:22 -05:00
thedarkone and Tobias Lütke
aa678302d6
Fix comments.
2011-01-28 21:16:22 -05:00
thedarkone and Tobias Lütke
6d0bb3303c
Clean-up Context#stack.
2011-01-28 21:16:22 -05:00
DBA and Tobias Lütke
8304a046c9
Context
...
- Check arity of proc before calling, to prevent error when using ruby 1.9.1+
Code beautifer
- context.rb
2010-08-23 01:30:03 +08:00
James MacAulay
0150067c40
Revert "Raise FilterNotFound on use of non-existent filter"
...
This reverts commit 01c25a11a3 .
Conflicts:
test/context_test.rb
2009-08-19 19:24:33 -04:00
James MacAulay
167825aa92
further differentiate between environments and only evaluate Procs once
2009-08-07 11:24:15 -04:00
James MacAulay
c792c29066
Templates and Contexts differentiate between different sources of assigns
2009-08-06 18:33:41 -04:00
Tobias Lütke
a65bd76e72
Merge branch 'master' of [email protected] :tobi/liquid
...
Conflicts:
lib/liquid.rb
lib/liquid/context.rb
lib/liquid/variable.rb
test/standard_tag_test.rb
2009-06-15 09:00:30 -04:00
Brian Candler
01c25a11a3
Raise FilterNotFound on use of non-existent filter
2009-06-06 16:32:20 +01:00
Brian Candler
cfe3e6f3be
Allow Hash with default value or default proc to be used
2009-06-06 16:16:06 +01:00
Jakub Kuźma and Tobias Lütke
8d27864845
Ruby 1.9.1 bugfixes
...
Signed-off-by: Tobias Lütke <[email protected] >
2009-04-17 06:33:25 +08:00
Tobias Lütke
edcc14f148
Reverted james filter in tags branch
...
This reverts commit 282786d7e2 .
Conflicts:
lib/liquid.rb
lib/liquid/variable.rb
test/if_else_test.rb
2009-04-06 08:30:19 -06:00
James MacAulay
282786d7e2
if blocks work with filtered variables
2008-10-15 17:02:26 -04:00
Mark H. Wilkinson
7acdac2a1c
Fix attribute expansion to index only once in all cases.
...
Also drop array.<digits> syntax
2008-07-09 18:46:38 +01:00
Mark H. Wilkinson
819b70204f
Fix syntax in doc comment; test same syntax.
2008-07-09 18:34:41 +01:00
Mark H. Wilkinson
eb609ee4aa
Strip trailing whitespace.
2008-07-09 18:34:41 +01:00
Tobias Lütke
8f45647aa3
Parse time errors should propagate to calling site
2008-05-08 12:35:17 -04:00
Tobias Lütke
4c0cfae0b7
Changed implementation of For in such a way that it only depends on the existence of a each method. This allows drops to simply implement each for enumeration
2008-05-08 12:30:48 -04:00
Tobias Lütke
7f58cbf82d
Merged last set of changes from original SVN location
2008-05-08 11:34:43 -04:00
Tobias Lütke
1d647361e1
Initial github import of liquid
2008-05-08 11:28:13 -04:00