Martin Morissette
d8f31046a9
Introduce template factory
2019-12-17 21:45:08 -05:00
Martin Morissette and GitHub
6c6382ed69
Merge pull request #1213 from Shopify/allow-failures-ruby-27
...
Make ruby 2.7 optional in CI
2019-12-16 09:46:12 -05:00
Martin Morissette
53ba1372f9
Make ruby 2.7 optional in CI
2019-12-16 08:59:26 -05:00
Mike Angell and GitHub
57c9cf64eb
Allow render to handle with and for correctly ( #1193 )
...
* Allow render to handle with and for correctly
* code improvements
2019-10-23 04:12:46 +10: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
Mike Angell and GitHub
3784020a8d
[New Feature] Add forloop inside render tag when using for syntax ( #1191 )
...
* Add forloop to render for syntax
* Remove forloop guard
2019-10-17 23:06:13 +10:00
uchoudh and Mike Angell
1223444738
Fix flaky tests ( #1186 )
2019-10-12 02:52:07 +11:00
Mike Angell and GitHub
2bfeed2b00
Resolve InputIterator dropping context ( #1184 )
...
* Resolve InputIterator dropping context
* Prefer attr_reader
2019-10-09 08:00:16 +11:00
Mike Angell and GitHub
04b800d768
Add support for as in Render and Include tags ( #1181 )
...
* Add support for alias
* Remove duplicate code
* Default to template name
* Improve variable matching
* Extract render_partial
* remove method
2019-10-09 07:59:52 +11:00
Mike Angell and GitHub
f1d62978ef
Allow default function to handle false as value ( #1144 )
...
* Allow default function to handle false as value
* Change to named parameter
* Remove redundant freeze
* add brackets to make intention clearer
* Use named param format from liquid
* Update syntax
* document default filter
2019-10-09 04:03:33 +11:00
uchoudh and GitHub
ffadc64f28
Merge pull request #1172 from Shopify/add-liquid-profiling-attr
...
Add liquid profile attributes
2019-10-08 10:49:54 -04:00
Mike Angell and GitHub
5302f40342
Rubocop fixes ( #1182 )
2019-10-07 17:06:47 +11: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
Mike Angell and GitHub
f4d134cd5c
Remove jruby and truffleruby testing ( #1167 )
2019-09-20 02:28:43 +10:00
Mike Angell and GitHub
b667bcb48b
Shopify stye guide fixes ( #1160 )
2019-09-20 02:08:11 +10:00
Ashwin Maroli and Mike Angell
2c14e0b2ba
Use Regexp#match? when MatchData is not used ( #1165 )
...
* Use `Regexp#match?` when `MatchData` is not used
* Add `TargetRubyVersion: 2.4` to RuboCop config
2019-09-20 02:07:52 +10:00
Ashwin Maroli and Mike Angell
ca207ed93f
Cleanup RuboCop configuration file ( #1161 )
2019-09-20 00:55:01 +10:00
Mike Angell and GitHub
ef13343591
Changes static registers to not be frozen ( #1163 )
...
* Changes static registers to not be frozen
* Add frozen test to static registers
2019-09-20 00:24:48 +10:00
Mike Angell and GitHub
adb40c41b7
Enable frozen_string_literal
2019-09-18 13:40:07 +10:00
Mike Angell and GitHub
d8403af515
Reimplementation of Static Registers ( #1157 )
2019-09-18 13:25:55 +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
Thierry Joyal and GitHub
1dcad34b06
Merge pull request #1151 from Shopify/invokable-methods-for-enumerable-reject-include
...
Invokable methods for enumerable reject include?
2019-09-16 09:49:40 -04:00
Mike Angell and GitHub
9a42c8c8b2
Merge pull request #1149 from Shopify/liquid-usage
...
Add usage tracking
2019-09-16 12:14:50 +10:00
Mike Angell and GitHub
1fcef2133f
Merge pull request #1143 from Shopify/styling-fixes-1
...
Apply simple rubocop fixes
2019-09-16 12:14:32 +10:00
Mike Angell and GitHub
d7514b1305
Merge pull request #1137 from Shopify/remove-lazy-stacks
...
Remove lazy load stacks
2019-09-16 12:14:14 +10:00
Thierry Joyal
c0ffee5919
Invokable methods for enumerable reject include?
2019-09-12 12:58:51 +00:00
Mike Angell
724d02e9b3
Disable interrupt fix in this round
2019-09-11 06:35:08 +10:00
Mike Angell
a5b387cdd4
Remove reserved word Interrupt to avoid confusion
...
Also resolves rubocop conflicts
2019-09-11 06:32:31 +10:00
Mike Angell
8318be2edc
Update readme
2019-09-11 05:20:05 +10:00
Mike Angell
b6547f322e
Simplify usage
2019-09-11 04:56:25 +10:00
Mike Angell
b316ff8413
Add usage tracking
2019-09-11 04:20:34 +10:00
Justin Li
806b2622da
Switch back to Liquid-C master, since https://github.com/Shopify/liquid-c/pull/50 is merged
2019-09-04 15:12:51 -04:00
Mike Angell and GitHub
1f90a37b63
Merge branch 'master' into styling-fixes-1
2019-09-04 14:26:27 +10:00
Mike Angell and GitHub
c34f7c9b2c
Merge pull request #1145 from Shopify/master-fixes
...
Render tag styling fixes
2019-09-04 14:25:38 +10:00
Mike Angell
604d899496
Render tag styling fixes
2019-08-31 22:48:25 +10:00
Mike Angell
799da202df
Apply simple rubocop fixes
2019-08-31 21:58:33 +10:00
Mike Angell and GitHub
ddb45cd658
Merge pull request #1139 from Shopify/shopify_ruby_style
...
Follow Shopify ruby style guide
2019-08-31 21:43:45 +10:00
Mike Angell
dafbb4ae90
Remove hasnling false scopes
2019-08-31 20:03:54 +10:00
Justin Li and GitHub
9876096cf4
Merge pull request #1141 from ashmaroli/reduce-context-constructor-allocations
...
Reduce allocations from `Liquid::Context.new`
2019-08-30 12:53:50 -04:00
Ashwin Maroli
8750b4b006
Reduce allocations from Liquid::Context.new
2019-08-30 09:01:47 +05:30
Samuel Doiron and GitHub
34083c96d5
Merge pull request #1122 from Shopify/render-tag
...
Add new `{% render %}` tag
2019-08-29 16:49:56 -04:00
Samuel
9672ed5285
Add a new {% render %} tag
...
Example:
```
// the_count.liquid
{{ number }}! Ah ah ah.
// my_template.liquid
{% for number in range (1..3) %}
{% render "the_count", number: number %}
{% endfor %}
Output:
1! Ah ah ah.
2! Ah ah ah.
3! Ah ah ah.
```
The `render` tag is a more strict version of the `include` tag. It is
designed to isolate itself from the parent rendering context both by
creating a new scope (which does not inherit the parent scope) and by
only inheriting "static" registers.
Static registers are those that do not hold mutable state which could
affect rendering. This again helps `render`ed templates remain entirely
separate from their calling context.
Unlike `include`, `render` does not permit specifying the target
template using a variable, only a string literal. For example, this
means that `{% render my_dynamic_template %}` is invalid syntax. This
will make it possible to statically analyze the dependencies between
templates without making Turing angry.
Note that the `static_environment` of a rendered template is inherited, unlike
the scope and regular environment. This environment is immutable from within the
template.
An alternate syntax, which mimics the `{% include ... for %}` tag is
currently in design discussion.
2019-08-29 16:32:05 -04:00
Justin Li and GitHub
f3112fc038
Merge pull request #1136 from ashmaroli/travis-selected-branches
...
Build only pushes to certain branches on Travis CI
2019-08-29 13:47:59 -04:00
Samuel
d338ccb9a6
Add isolated subcontexts
...
An isolated subcontext inherits the environment, filters,
and static registers of its supercontext, but with a fresh
(isolated) scope.
This will pave the way for adding the `render` tag, which renders
templates in such a subcontext.
2019-08-29 10:27:15 -04:00
Mike Angell
d67de1c9b2
Follow Shopify ruby style
...
This is the first step in bringing Liquid style inline with Shopify ruby style
2019-08-29 13:39:57 +10:00
Mike Angell
2324564743
Remove lazy load stacks
...
Remove lazy load stacks and instead only create a new scope when a tag is known to need one
2019-08-29 09:09:32 +10:00
Ashwin Maroli
b3097f143c
Build only pushes to certain branches on Travis CI
2019-08-28 21:28:49 +05:30
Mike Angell and GitHub
7b309dc75d
Merge pull request #1135 from Shopify/fix-failing-rubocop
...
Resolve failing rubocop issues
2019-08-29 01:11:25 +10:00