Dylan Thacker-Smith and GitHub
260c863e23
Build the tokenizer through the parse context for liquid-c ( #1386 )
2021-01-07 14:51:41 -05:00
Peter Zhu
7ca2846d9c
Move configure options to a method
2020-12-16 15:08:55 -05:00
Dylan Thacker-Smith
896288eff1
Move start of profiling to a Document#render_to_output_buffer patch
2020-12-09 10:04:34 -05:00
Dylan Thacker-Smith
b3f132efd1
Fix total_render_time if a Profiler gets used for multiple renders
2020-12-09 10:04:34 -05:00
Dylan Thacker-Smith and GitHub
60214b957c
Store the profiler in the context instead of a thread-local variable ( #1364 )
2020-12-09 10:04:20 -05:00
Dylan Thacker-Smith
cb2ad71a31
Remove the Profiler#initialize argument which is effectively now unused
...
The @root_timing Timing object that it was used with never exposed that
name.
2020-12-09 10:01:16 -05:00
Ashwin Maroli
740f8759cc
Rename constant to RAISE_EXCEPTION_LAMBDA
2020-10-28 23:06:13 +05:30
Ashwin Maroli
bfa2df7036
Stash exception_renderer lambda in a constant
2020-10-26 19:44:00 +05:30
Ashwin Maroli and GitHub
0e52706a5b
Remove redundant comment in Liquid::Template ( #1328 )
2020-10-22 12:49:02 -04:00
Dylan Thacker-Smith and GitHub
2b11efc3ae
Fix performance regression from introduction of Template#disable_tags ( #1274 )
2020-08-18 11:25:51 -04:00
Dylan Thacker-Smith
065ccbc4aa
Remove support for taint checking
2020-07-23 16:22:46 -04:00
Feken Baboyan
8541c6be35
make Template override static registers only when the register key is not defined
2020-05-28 09:08:03 -04:00
Dylan Thacker-Smith and GitHub
e9b649b345
Fix Liquid::Template inheritance ( #1227 )
...
self.class.default_resource_limits would return `nil` in a subclass, since
the attribute isn't set on subclasses.
2020-01-21 15:09:22 -05:00
Dylan Thacker-Smith and GitHub
48a155a213
Initialize Liquid::Template class attributes eagerly instead of lazily ( #1223 )
2020-01-10 17:42:01 -05:00
Dylan Thacker-Smith and GitHub
8074565c3e
Merge pull request #1216 from Shopify/unsupported-taint-mode
...
Remove support for taint_mode on ruby versions that don't support it
2020-01-07 10:12:36 -05:00
Thierry Joyal
c0ffeeef26
[Strainer] Separate factory from template
2020-01-06 17:45:25 +00:00
Dylan Thacker-Smith
40c68c9c83
Remove support for taint_mode on ruby versions that don't support it
2019-12-19 11:12:51 -05:00
Alessandro Diogo Brückheimer and Mike Angell
e83b1e4159
Add ForceEqualSignAlignment to .rubocop.yml ( #1190 )
...
* Add ForceEqualSignAlignment to .rubocop.yml
* Revert ForceEqualSignAlignment cop
* Update method alignment
* Undo addition of whitespace to improve readability
* Fix missing alignment
2019-10-21 21:18:48 +10:00
uchoudh
fefee4c675
Add liquid profile attributes
...
Attribute testing
Add partial name support
2019-10-03 10:12:39 -04:00
Mike Angell and GitHub
1aa7d3d2ba
Change registers to by symbols ( #1178 )
2019-09-27 04:32:24 +10:00
Mike Angell and GitHub
0db9c56f34
Disable rendering of tag based on register ( #1162 )
...
* Disable rendering of tag based on register
* Improvements to disable tag
* Resolve disbale tag tests
* Test disable_tags register
* disabled_tags is now always avaiable
* Allow multiple tags to be disabled at once
* Move disabled check to block_body
* Code improvements
* Remove redundant nil check
* Improve disabled tag error output
* Improve disable tag API
* Code improvements
* Switch disabled? to not mutate output
* Fix array handling shortcut in disable_tags
2019-09-26 00:18:30 +10:00
0d26f05bb8
Enabled frozen string literals ( #1154 )
...
* Enabled frozen string literals
* Update rubocop config
* Prefer string interpolation in simple cases
Co-Authored-By: Dylan Thacker-Smith <[email protected] >
2019-09-18 13:19:45 +10:00
Mike Angell
799da202df
Apply simple rubocop fixes
2019-08-31 21:58:33 +10:00
Ashwin Maroli
00702d8e63
Use Object.const_get directly
2019-08-07 11:44:53 +05:30
Ashwin Maroli
c2c1497ca8
Reduce allocations while registering Liquid tags
2019-07-22 20:42:37 +05:30
Florian Weingarten
9640e77805
render_to_output_buffer
2019-04-23 17:06:29 -04:00
Florian Weingarten
2a1ca3152d
liquid without the garbage
2019-04-22 16:34:31 -04:00
Dylan Thacker-Smith and GitHub
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 and GitHub
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
Gaurav Chande
6adc431a19
Make tag registry enumerable
2016-04-25 11:38:42 -04:00
Florian Weingarten
d2f16d92d6
Fix a bunch of Ruby warnings
2016-03-30 20:42:30 +00: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
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
14416b3c49
Move the syntax error rescue for adding error line numbers.
2015-07-09 11:25:05 -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
Florian Weingarten
5919626da4
Rename 'has_key?' and 'has_interrupt?'
2015-06-04 13:14:46 -04:00
Gaurav Chande
3a907a4db7
Move DEFAULT_OPTIONS related logic to Document
2015-06-04 04:39:54 +00:00
Gaurav Chande
8b98f92c7f
Extract tokenize logic from Template to a RubyTokenizer
2015-06-04 04:39:30 +00:00
Dylan Thacker-Smith
8d5e71f856
Allow the exception handler to convert exceptions to hide error messages.
2015-05-27 18:59:51 -04:00
Dylan Thacker-Smith
36200ff704
Make liquid error rendering optional.
...
Although the author of the liquid template wants to see these errors, they
probably don't want the visitor to see the liquid errors. Probably the
best fallback when rendering the page for visitors is to render the empty
string for tags with errors.
2015-05-25 11:24:53 -04:00
Florian Weingarten
3372ca8136
Rubocop
2015-05-14 14:37:18 +00:00
Justin Li
e2f8b28f56
Merge pull request #492 from Shopify/resource-counting-perf
...
Resource counting perf
2014-12-11 16:05:41 -05:00
Justin Li
c2f71ee86b
Reset resource consumption before each render
2014-12-09 17:23:07 -05:00
Justin Li
b628477af1
Disambiguate checking if Liquid::Profiler is defined
2014-12-04 17:51:54 -05:00
Justin Li
dd455a6361
Force user to require the profiler themselves
2014-12-04 17:48:26 -05:00
Justin Li
8c70682d6b
Don't automatically load hooks
2014-12-04 17:39:41 -05:00
Justin Li
1593b784a7
Simplify interface for setting template resource limits
2014-12-04 16:18:21 -05:00
Justin Li
db00ec8b32
Move resource limit tracking to its own class
2014-12-04 16:18:09 -05:00
Justin Li
c0aab820ed
Lazily load profiler hooks
2014-11-12 00:05:01 -05:00