Dylan Thacker-Smith
0fc45ca3af
Reserve future support for comment line before a tag name
2021-02-26 07:00:08 -05:00
Tobias Lutke
ab455480fa
exploring the comment syntax a bit
2021-02-25 14:35:31 -04:00
Dylan Thacker-Smith
5e8e5e89b1
Add changelog entry
2021-02-24 09:28:17 -05:00
Dylan Thacker-Smith
6ddfaec3f9
Add tests for text immediately following liquid tag
2021-02-24 09:28:17 -05:00
Dylan Thacker-Smith
fff6c565c1
Implement the inline comment tag
2021-02-24 09:28:17 -05:00
Dylan Thacker-Smith
31f7be8a6d
Use liquid-c inline-comment branch until it is merged
2021-02-24 09:28:17 -05:00
Dylan Thacker-Smith
dcb5a67089
performance: Use split limit in truncatewords ( #1361 )
2021-02-19 13:11:35 -05:00
Justin Li
efe44a7e6a
Merge pull request #1391 from Unending/replace_carriage_return
...
handle carriage return in newlines_to_br
2021-02-19 12:49:13 -05:00
Dylan Thacker-Smith
8625e66453
CI: Test with ruby 3.0 as the latest ruby version ( #1398 )
2021-02-10 10:10:27 -05:00
Unending
3cae09b968
handle carriage return in newlines_to_br
2021-01-16 18:49:01 +01:00
Peter Zhu
3c499d0241
Merge pull request #1387 from Shopify/pz-serialize-benchmark-refactor
...
Refactor render_layout method for serialization
2021-01-11 15:51:00 -05:00
Peter Zhu
e71e53ffb5
Refactor render_layout method for serialization
2021-01-11 14:00:39 -05:00
Dylan Thacker-Smith
260c863e23
Build the tokenizer through the parse context for liquid-c ( #1386 )
2021-01-07 14:51:41 -05:00
Marc-André Cournoyer
42b6c07cd0
Merge pull request #1384 from Shopify/allowed_push_host
...
Add allowed_push_host to gemspec
2021-01-06 10:18:16 -05:00
Marc-André Cournoyer
c91a6827f2
Add allowed_push_host to gemspec
...
Required to push gem to rubygems.
2021-01-06 10:03:13 -05:00
Marc-André Cournoyer
5dbc3d5701
Merge pull request #1383 from Shopify/bump-version
...
Bump version to 5.0.0
2021-01-06 09:38:04 -05:00
Marc-André Cournoyer
22683cbd2a
Bump version to 5.0.0
...
Bump major because of the numerous breaking changes.
2021-01-05 15:02:14 -05:00
Peter Zhu
abfab3bef2
Merge pull request #1380 from Shopify/pz-serialize-compat
...
Fixes for serialization
2021-01-05 14:10:54 -05:00
Peter Zhu
51e8d6234a
Freeze blocks in reverse order
2020-12-16 15:18:34 -05:00
Peter Zhu
7ca2846d9c
Move configure options to a method
2020-12-16 15:08:55 -05:00
Dylan Thacker-Smith
7ba0fc7952
Merge pull request #1376 from Shopify/support-app-liquid-context
...
Use the same context class for isolated subcontexts for the require tag
2020-12-14 12:12:46 -05:00
Marc-André Cournoyer
e2c86d137f
Merge pull request #1377 from Shopify/update-history
...
Fix latest changelog
2020-12-13 12:27:15 -05:00
Marc-André Cournoyer
776a63b61d
Update latest changelog to mention Ruby 2.5 req
2020-12-13 12:13:49 -05:00
Marc-André Cournoyer
84f9d6957c
Merge pull request #1374 from Shopify/update-history
...
Update History.md with changes since last release
2020-12-11 17:05:33 -05:00
Marc-André Cournoyer
7d32728e16
Split latest changelog in Features, Fixes, Changes & Perf
...
Also remove duplicated entries
2020-12-11 16:35:19 -05:00
Dylan Thacker-Smith
40a9b72b3c
Allow a block to finish context init before squashing instance assigns
...
Liquid::Context#squash_instance_assigns_with_environments can result in
Proc objects in the environment to be eagerly evaluated. So it should be
possible to finish initializing the context object before this is done.
Allowing a block to be used for this purpose avoids the need to add
additional parameters for this purpose.
2020-12-11 14:52:09 -05:00
Dylan Thacker-Smith
4ff26cd707
Use the same context class for isolated subcontexts for the require tag
2020-12-11 14:52:09 -05:00
Dylan Thacker-Smith
462919a28f
Merge pull request #1375 from Shopify/update-rubocop
...
Update rubocop and related configuration
2020-12-11 14:47:56 -05:00
Dylan Thacker-Smith
f3e2be9f85
Update rubocop
2020-12-11 14:14:15 -05:00
Dylan Thacker-Smith
4d40f83457
Update .rubocop_todo.yml to ignore Lint/MissingSuper offenses in drops
...
I don't think we can rely on the application to call `super` in their
drop's initializers at the moment, so doing that consistently in liquid
would prevent this from being properly tested.
2020-12-11 14:14:15 -05:00
Dylan Thacker-Smith
00be1e4dd4
Update inherited rubocop shopify style guide configuration
2020-12-11 14:14:15 -05:00
Dylan Thacker-Smith
f7d67b946e
rubocop autocorrect Style/MethodCallWithArgsParentheses
2020-12-11 13:51:00 -05:00
Marc-André Cournoyer
ae9aee896b
Update History.md with changes since last release
2020-12-10 08:03:17 -05:00
Dylan Thacker-Smith
6dec172743
Merge pull request #1366 from Shopify/profile-render-node
...
Create top-level profile timing nodes for multiple template renders
2020-12-09 10:07:31 -05:00
Dylan Thacker-Smith
da581d988a
Create top-level profile timing nodes for multiple template renders
2020-12-09 10:06:02 -05:00
Dylan Thacker-Smith
7960826552
Rename render_profiling_test.rb to profiler_test.rb
...
so it corresponds to the class name being tested
2020-12-09 10:06:02 -05:00
Dylan Thacker-Smith
84059691b8
Merge pull request #1365 from Shopify/profiling-multiple-renders
...
Support using a profiler for multiple renders
2020-12-09 10:05:48 -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
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
7361220af6
Merge pull request #1363 from Shopify/profiler-context-template-name
...
Fix template name in profile result for render tag timing objects
2020-12-09 10:03:42 -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
Dylan Thacker-Smith
900e3a6491
Fix template name in profile result for render tag timing objects
2020-12-09 10:01:16 -05:00
Dylan Thacker-Smith
f18084203d
Use monotonic time to measure durations in Liquid::Profiler ( #1362 )
2020-12-09 10:00:44 -05:00
Peter Zhu
3358a892f2
Merge pull request #1371 from Shopify/pz-revert-instrument
...
Revert instrumentation of end_tag_params and range_float
2020-12-01 15:24:52 -05:00
Peter Zhu
bbfcaa2cc0
Revert "Merge pull request #1350 from Shopify/pz-instrument-invalid-end-tag"
...
This reverts commit e6eef4b2c4 , reversing
changes made to c7c21e88f0 .
2020-12-01 14:38:04 -05:00
Peter Zhu
ba657871bc
Revert "Merge pull request #1359 from Shopify/pz-instrument-range-floats"
...
This reverts commit 300adfd7ae , reversing
changes made to ed0aebcbc9 .
2020-12-01 14:37:23 -05:00
Peter Zhu
29d5d9674a
Merge pull request #1370 from Shopify/pz-freeze-case-body
...
Freeze the body for case tags
2020-11-27 12:03:03 -05:00
Peter Zhu
0a645e72c1
Freeze the body for case
2020-11-27 11:29:17 -05:00
Dylan Thacker-Smith
1850511334
Use an atomic subgroup in range regex to avoid pathological backtracking ( #1360 )
2020-11-16 10:29:36 -05:00
Peter Zhu
300adfd7ae
Merge pull request #1359 from Shopify/pz-instrument-range-floats
...
Instrument usage of floats in ranges
2020-11-13 16:08:47 -05:00
Peter Zhu
f357662f37
Instrument floats in ranges
2020-11-13 16:05:29 -05:00
Peter Zhu
ed0aebcbc9
Merge pull request #1355 from Shopify/pz-instrument-forloop-name
...
Instrument forloop.name
2020-11-12 14:24:08 -05:00
Peter Zhu
ea4f1885f8
Instrument forloop.name
2020-11-12 14:19:12 -05:00
Peter Zhu
2f75db604f
Merge pull request #1354 from Shopify/pz-instrument-for-offset-continue
...
Instrument usage of offset:continue in for loops
2020-11-12 14:14:09 -05:00
Peter Zhu
d844a3dd8b
Instrument usage of offset:continue in for loops
2020-11-12 13:39:02 -05:00
Max Melentiev
9fcba1a26c
Remove unused translation ( #1033 )
2020-11-11 10:21:04 -05:00
Peter Zhu
0659891e68
Merge pull request #1352 from Shopify/pz-test-trim-blank
...
Test trim without any content
2020-11-10 10:36:21 -05:00
Peter Zhu
e7fb3b18f3
Test trim without any content
2020-11-10 10:31:07 -05:00
Peter Zhu
e6eef4b2c4
Merge pull request #1350 from Shopify/pz-instrument-invalid-end-tag
...
Instrument invalid end tags
2020-11-10 10:06:25 -05:00
Peter Zhu
2ce577e36b
Instrument for bug #1346
2020-11-09 14:27:17 -05:00
Peter Zhu
c7c21e88f0
Merge pull request #1344 from Shopify/pz-test-space-in-dot
...
Test space between dot for attributes
2020-11-06 10:10:08 -05:00
Peter Zhu
a89371b0b9
Test space between dot
2020-11-05 15:39:44 -05:00
Dylan Thacker-Smith
8f7f8761d1
Use Array#each instead of Array#inject to avoid an object allocation ( #1341 )
2020-10-29 11:24:19 -04:00
Justin Li
a3ff300419
Merge pull request #1330 from ashmaroli/exception-renderer-lambda
...
Stash exception_renderer lambda in a constant
2020-10-28 13:38:20 -04:00
Dylan Thacker-Smith
ea6e326b9c
Fix FrozenError for blank case tag with multiple expression when tag ( #1340 )
2020-10-28 13:37:17 -04:00
Ashwin Maroli
740f8759cc
Rename constant to RAISE_EXCEPTION_LAMBDA
2020-10-28 23:06:13 +05:30
Ashwin Maroli
bb9cd4eb6a
Merge upstream branch 'master' into this branch
2020-10-28 22:14:09 +05:30
Peter Zhu
3a591fbf26
Merge pull request #1336 from ashmaroli/trigger-github-actions-on-pull-requests
...
Run workflows for pull requests from repo forks
2020-10-28 11:35:52 -04:00
Dylan Thacker-Smith
7754d5aef5
Attempt to strict parse variables before lax parsing in lax error mode ( #1338 )
2020-10-28 10:37:00 -04:00
Dylan Thacker-Smith
1d63d5db5f
Fix a leaky test that set Tempate.error_mode without resetting it ( #1339 )
2020-10-28 10:36:33 -04:00
Ashwin Maroli
26640368e5
Run workflows for pull requests from repo forks
2020-10-28 12:45:10 +05:30
Dylan Thacker-Smith
f23c2a83f2
Fix lax parsing expressions surrounded by spaces ( #1335 )
...
to make it compatible with strict parsing and liquid-c
2020-10-27 14:53:57 -04:00
Peter Zhu
61d54d1b19
Merge pull request #1331 from Shopify/pz-freeze-block
...
Freeze block body after parsing completes
2020-10-27 13:17:54 -04:00
Dylan Thacker-Smith
10ea6144e0
Add Liquid::ParseContext#parse_expression for liquid-c node disabling ( #1333 )
...
We would like to be able to disable liquid-c VM rendering at runtime,
but right now expression parsing is done using Expression.parse, which
isn't aware of the parse context. That prevents us from conditionally
compiling to VM code based on a parse option.
2020-10-27 11:00:04 -04:00
Peter Zhu
292d971937
Merge loops
2020-10-27 10:42:30 -04:00
Peter Zhu
5c082472a1
Address comments
2020-10-26 16:16:30 -04:00
Peter Zhu
0bedc71854
Address comments
2020-10-26 15:11:00 -04:00
Peter Zhu
fe66edb825
Freeze block body after parsing completes
2020-10-26 11:06:55 -04:00
Ashwin Maroli
bfa2df7036
Stash exception_renderer lambda in a constant
2020-10-26 19:44:00 +05:30
Ashwin Maroli
0e52706a5b
Remove redundant comment in Liquid::Template ( #1328 )
2020-10-22 12:49:02 -04:00
Dylan Thacker-Smith
4c6166f989
Add parsing quirk test for lookup on variable with literal name ( #1325 )
2020-10-21 16:30:17 -04:00
Justin Li
8e99b3bd7f
Merge pull request #1322 from ashmaroli/else-tag-names
...
Stash array of tag names in a constant
2020-10-21 12:09:14 -04:00
Dylan Thacker-Smith
f6532de1fd
Merge pull request #1323 from Shopify/assign-score-hash
...
Avoid allocating arrays of key value pairs in assign_score_of
2020-10-21 11:18:35 -04:00
Dylan Thacker-Smith
001fde7694
Avoid allocating arrays of key value pairs for hashes in assign_score_of
2020-10-21 10:36:00 -04:00
Dylan Thacker-Smith
b872eac2b9
More comprehensively test assign_score_of
2020-10-21 10:35:56 -04:00
Dylan Thacker-Smith
038d0585cf
Move some assign score increment tests to the tag that increments
2020-10-21 10:21:00 -04:00
Ashwin Maroli
b15428ea83
Stash array of tag names in a constant
2020-10-21 18:50:56 +05:30
Dylan Thacker-Smith
c9ad9d338c
Extract method for raising a syntax error in the assign tag for liquid-c ( #1321 )
2020-10-20 16:59:52 -04:00
Dylan Thacker-Smith
ae6bd9f6b0
Allow an empty variable tag during strict parsing for liquid-c compat ( #1320 )
2020-10-20 14:11:48 -04:00
Dylan Thacker-Smith
866e437c05
Test tag disabling using custom tags ( #1318 )
...
Since I don't think we have any use case to disable the `raw` or
`echo` tags, so I would like liquid-c to not have to support that
2020-10-19 16:32:02 -04:00
Dylan Thacker-Smith
784db053f2
Merge pull request #1317 from Shopify/strict-parse-dynamic-find-var
...
Fix strict parsing of find variable with a name expression
2020-10-19 13:43:26 -04:00
Dylan Thacker-Smith
ff1c6bd26e
Actually remove test file with no extension moved into another test file ( #1316 )
2020-10-19 12:40:02 -04:00
Dylan Thacker-Smith
46fd63da5f
Fix strict parsing of find variable with a name expression
2020-10-19 12:17:25 -04:00
Dylan Thacker-Smith
420a1c79e1
Refactor variable lookup strict parsing to reduce coupling on dot lookup
2020-10-19 12:10:32 -04:00
Dylan Thacker-Smith
6d39050e1e
Use a case statement in Liquid::Parser#expression
2020-10-19 12:10:11 -04:00
Dylan Thacker-Smith
077bf2a409
Test reporting of liquid error for filter call with wrong number of arguments ( #1311 )
2020-10-08 11:55:40 -04:00
Dylan Thacker-Smith
1a3e38c018
Merge pull request #1310 from Shopify/only-integration-test-liquid-c
...
Fix liquid-c integration testing
2020-10-08 11:52:50 -04:00
Dylan Thacker-Smith
e495f75cc2
Remove support for ruby 2.4, which is no longer supported upstream
2020-10-08 09:48:16 -04:00
Dylan Thacker-Smith
e781449c36
Remove root directory from library search path for tests
...
It isn't in the gemspec's require_path, so we shouldn't add any dependence
on it.
2020-10-08 01:53:11 -04:00
Dylan Thacker-Smith
7eb03ea198
Only test liquid-c integration using the integration tests
2020-10-08 01:52:40 -04:00
Peter Zhu
bd34cd5613
Merge pull request #1308 from Shopify/pz-gh-actions
...
Use GitHub Actions for CI
2020-10-07 14:38:15 -04:00
Peter Zhu
c28d455f7b
Use GitHub Actions for CI
2020-10-07 13:29:39 -04:00
Dylan Thacker-Smith
d250a7f502
Set Context#initialize instance variables before squashing assigns ( #1307 )
2020-10-06 21:00:08 -04:00
Peter Zhu
b0f46326ca
Merge pull request #1306 from Shopify/pz-raise-tag-never-closed
...
Refactor raising tag never closed error to method
2020-10-06 17:13:35 -04:00
Peter Zhu
7aed2f122c
Refactor raising tag never closed to method
2020-10-06 15:55:55 -04:00
Peter Zhu
5199a34d9b
Merge pull request #1304 from Shopify/pz-raw-bug
...
Fix duplication of text in raw tags
2020-10-05 10:59:15 -04:00
Peter Zhu
4c2ab6f878
Fix bug in raw tags
2020-10-05 10:47:28 -04:00
Dylan Thacker-Smith
a818dd9d19
Fix test with missing extension ( #1302 )
2020-09-30 13:44:28 -04:00
Dylan Thacker-Smith
efef03d944
Merge pull request #1294 from Shopify/changes-for-liquid-c-vm-variable
...
Refactor to support liquid-c VM compilation of variables
2020-09-29 21:02:26 -04:00
Dylan Thacker-Smith
33760f083a
Extract rescue code from BlockBody#render_node for re-use in liquid-c
2020-09-25 11:24:39 -04:00
Dylan Thacker-Smith
013802c877
Move some unit tests without internal coupling to integration tests
...
since I would like to continue supporting these tests in liquid-c
in the foreseeable future.
2020-09-25 11:24:39 -04:00
Dylan Thacker-Smith
3dcad3b3cd
Move test/integration/parse_tree_visitor_test.rb to test/unit
...
The ParseTreeVisitor exposes the liquid internals that won't be
kept compatible with liquid-c, so move it out of the integration
tests directory so that we can easily ignore it when testing liquid-c
2020-09-25 11:24:39 -04:00
Dylan Thacker-Smith
db065315ba
Allow creating symbols that are garbage collected in a test
2020-09-25 11:24:39 -04:00
Dylan Thacker-Smith
a03f02789b
Only use MethodLiteral in condition expressions ( #1300 )
2020-09-25 11:10:33 -04:00
Dylan Thacker-Smith
ca4b9b43af
Port liquid-c bug compatible whitespace trimming ( #1291 )
2020-09-16 16:07:36 -04:00
Dylan Thacker-Smith
77084930e9
Bring back silencing of errors in blank nodes for backwards compatibility ( #1292 )
2020-09-15 10:35:18 -04:00
Dylan Thacker-Smith
fb77921b15
Merge pull request #1290 from Shopify/document-unknown-tag-refactor
...
Pass the tag markup and tokenizer to Document#unknown_tag
2020-09-11 09:34:16 -04:00
Dylan Thacker-Smith
0d02dea20b
Rename Liquid::Block#unknown_tag parameters for clarity
2020-09-11 09:33:12 -04:00
Dylan Thacker-Smith
86b47ba28b
Pass the tag markup and tokenizer to Document#unknown_tag
...
The parse_context no longer needs to be passed in because it is available
through through an attr_reader on the instance. However, the markup and
tokenizer weren't made available. This refactor also makes the parameters
given to Document#unknown_tag consistent with Block#unknown_tag.
2020-09-11 09:33:12 -04:00
Dylan Thacker-Smith
95ff0595c6
Merge pull request #1289 from Shopify/refactor-for-c-block-body
...
Avoid direct coupling to BlockBody instances for liquid-c replacement
2020-09-11 09:15:58 -04:00
Dylan Thacker-Smith
bbc56f35ec
Add ParseContext#new_block_body to centralize the liquid-c override point
2020-09-09 12:25:35 -04:00
Dylan Thacker-Smith
dfbbf87ba9
Use BlockBody from Document using composition rather than inheritence
...
This way liquid-c can more cleanly use a Liquid::C::BlockBody object
for the block body by overriding Liquid::Document#new_body.
2020-09-08 14:00:52 -04:00
Dylan Thacker-Smith
037b603603
Turn some Liquid::BlockBody methods into class methods for liquid-c
...
So they can be used from a Liquid::C::BlockBody
2020-09-08 14:00:48 -04:00
Dylan Thacker-Smith
bd33df09de
Provide Block#new_body so that liquid-c can override it
...
This way liquid-c can return a body of a different class that wraps
a C implementation.
2020-09-08 13:59:48 -04:00
Dylan Thacker-Smith
6ca5b62112
Merge pull request #1285 from Shopify/fix-render-length-resource-limit
...
Fix render length resource limit so it doesn't multiply nested output
2020-09-08 13:57:30 -04:00
Dylan Thacker-Smith
e1a2057a1b
Update assign_score during capturing
...
To stop long captures before they grow the heap more then they should.
2020-09-03 11:13:08 -04:00
Dylan Thacker-Smith
ae9dbe0ca7
Fix render length resource limit so it doesn't multiply nested output
2020-09-03 11:13:04 -04:00
Dylan Thacker-Smith
3b486425b0
Handle BlockBody#blank? at parse time ( #1287 )
2020-09-03 11:07:13 -04:00
Dylan Thacker-Smith
b08bcf00ac
Push interrupts from Continue and Break tags rather than from BlockBody ( #1286 )
2020-09-03 06:55:24 -04:00
Dylan Thacker-Smith
0740e8b431
Remove unused quirk allowing liquid tags to close a block it is nested in ( #1284 )
2020-09-03 06:51:56 -04:00
Dylan Thacker-Smith
5532df880f
Handle disabled tags errors like other liquid errors ( #1275 )
2020-08-18 11:39:54 -04:00
Dylan Thacker-Smith
2b11efc3ae
Fix performance regression from introduction of Template#disable_tags ( #1274 )
2020-08-18 11:25:51 -04:00
Thierry Joyal
a1d982ca76
Merge pull request #1272 from Shopify/StaticRegisters/add-test-coverage
...
[StaticRegisters] Add test coverage
2020-08-04 08:31:45 -04:00
Thierry Joyal
03be7f1ee3
[StaticRegisters] Add test coverage
2020-07-28 10:23:51 -04:00
Dylan Thacker-Smith
1ced4eaf10
Merge pull request #1268 from Shopify/remove-taint-checking
...
Remove support for taint checking
2020-07-25 21:27:46 -04:00
Dylan Thacker-Smith
4970167726
Bump rake development dependency
...
Gets rid of a deprecation warning when running the tests.
2020-07-23 16:23:18 -04:00
Dylan Thacker-Smith
065ccbc4aa
Remove support for taint checking
2020-07-23 16:22:46 -04:00
Feken Baboyan
1feaa63813
Merge pull request #1258 from Shopify/fix-context-overriding-in-templates
...
Fix how Template overrides static registers when #render is invoked
2020-05-28 09:32:31 -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
Thierry Joyal
18654526c8
Merge pull request #1257 from Shopify/StaticRegisters/remove-registers-attr-reader
...
[StaticRegisters] Remove registers attr_reader
2020-05-22 14:01:37 -04:00
Thierry Joyal
bd1f7f9492
[StaticRegisters] Remove assertion for delete to not remove static content
2020-05-22 13:42:44 -04:00
Thierry Joyal
40d75dd283
Update test/unit/static_registers_unit_test.rb
...
Co-authored-by: Dylan Thacker-Smith <dylan.smith@shopify.com >
2020-05-22 12:15:52 -04:00
Thierry Joyal
f5011365f1
[StaticRegisters] Remove registers attr_reader
2020-05-22 10:51:07 -04:00
Thierry Joyal
ebbd046c92
Merge pull request #1250 from Shopify/static-registers/fetch-raise-on-missing
...
[StaticRegisters] Fetch raise on missing
2020-05-22 09:56:05 -04:00
Thierry Joyal
b9979088ec
[StaticRegisters] Fetch raise on missing
...
Co-authored-by: Dylan Thacker-Smith <dylan.smith@shopify.com >
2020-05-22 09:35:47 -04:00
Dylan Thacker-Smith
bd0e53bd2e
Merge pull request #1239 from Shopify/remove-bad-arity-assumption
...
Fix ParseTreeVisitorTest for ruby-head
2020-05-21 14:02:04 -04:00
Thierry Joyal
4b586f4105
Merge pull request #1251 from Shopify/travis/optional-head
...
[Travis] Optional head
2020-05-21 13:51:11 -04:00
Thierry Joyal
0410119d5f
[Travis] Optional head
2020-05-21 12:45:14 -04:00
Dylan Thacker-Smith
c2f67398d0
Allow ruby-head failures
...
Ignore an object allocation test failure on ruby-head for now.
2020-03-31 10:53:49 -04:00
Dylan Thacker-Smith
81149344a5
Fix ParseTreeVisitorTest for ruby-head
2020-03-31 10:53:46 -04:00
Dylan Thacker-Smith
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
Celso Dantas
9c538f4237
Merge pull request #1207 from Shopify/moving-const-to-const
...
Use String literal instead
2020-01-20 12:37:57 -05:00
Celso Dantas
c08a358a2b
Use String literal instead of using a class method
...
The class method string definition is not needed here, so it can be removed.
2020-01-16 09:42:32 -05:00
Justin Li
dbaef5e79b
Merge pull request #1180 from Shopify/test-all-filters
...
Test all filters against random data to detect exceptions
2020-01-13 15:52:44 -05:00
Dylan Thacker-Smith
48a155a213
Initialize Liquid::Template class attributes eagerly instead of lazily ( #1223 )
2020-01-10 17:42:01 -05:00
Dylan Thacker-Smith
c69a9a77c6
Merge pull request #1215 from Shopify/nested-liquid-tag
...
Fix liquid tag nested in outer block
2020-01-09 19:24:52 -05:00
Dylan Thacker-Smith
ef79fa3898
style: Avoid deep nesting for parsing the liquid tag in the block body
2020-01-09 19:13:13 -05:00
Dylan Thacker-Smith
f7ad602bfc
Fix liquid tag nested in outer block
2020-01-09 19:13:13 -05:00
Dylan Thacker-Smith
ffd6049ba2
Merge pull request #1222 from Shopify/bump-ci-ruby
...
Test against the latest ruby in CI
2020-01-09 18:12:36 -05:00
Dylan Thacker-Smith
b3ad54c0c2
Test against the latest ruby in CI
2020-01-09 13:15:34 -05:00
Dylan Thacker-Smith
67eca3f58d
Upgrade rubocop and style guide for ruby 2.7 compatibility
2020-01-09 13:15:34 -05:00
Thierry Joyal
0847bf560f
Merge pull request #1218 from Shopify/strainer/remove-safe-navigation
...
Remove handling of a nil context in the Strainer class
2020-01-07 11:54:49 -05:00
Dylan Thacker-Smith
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
24e81267b9
Merge pull request #1208 from Shopify/strainer/revisit
...
[Strainer] Separate factory from template
2020-01-06 13:56:22 -05:00
Thierry Joyal
c0ffee3ff9
[Strainer] Remove safe navigation
2020-01-06 18:34:13 +00:00
Thierry Joyal
c0ffeeef26
[Strainer] Separate factory from template
2020-01-06 17:45:25 +00:00
Dylan Thacker-Smith
22dbf90b7d
Try to stay compatible with ruby-head
2019-12-19 11:12:55 -05: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
Martin Morissette
b7f0f158ab
Merge pull request #1212 from Shopify/template-factory
...
Introduce template factory
2019-12-19 08:52:22 -05:00
Martin Morissette
d8f31046a9
Introduce template factory
2019-12-17 21:45:08 -05:00
Martin Morissette
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
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
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
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
1223444738
Fix flaky tests ( #1186 )
2019-10-12 02:52:07 +11:00
Mike Angell
2bfeed2b00
Resolve InputIterator dropping context ( #1184 )
...
* Resolve InputIterator dropping context
* Prefer attr_reader
2019-10-09 08:00:16 +11:00
Mike Angell
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
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
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
5302f40342
Rubocop fixes ( #1182 )
2019-10-07 17:06:47 +11:00
Mike Angell
b0f8c2c03e
Remove error logging
2019-10-05 01:13:35 +10:00
Mike Angell
37e40673ff
Filter test
2019-10-04 17:00:54 +10:00
uchoudh
fefee4c675
Add liquid profile attributes
...
Attribute testing
Add partial name support
2019-10-03 10:12:39 -04:00
Mike Angell
1aa7d3d2ba
Change registers to by symbols ( #1178 )
2019-09-27 04:32:24 +10:00
Mike Angell
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
f4d134cd5c
Remove jruby and truffleruby testing ( #1167 )
2019-09-20 02:28:43 +10:00
Mike Angell
b667bcb48b
Shopify stye guide fixes ( #1160 )
2019-09-20 02:08:11 +10:00
Ashwin Maroli
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
ca207ed93f
Cleanup RuboCop configuration file ( #1161 )
2019-09-20 00:55:01 +10:00
Mike Angell
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
adb40c41b7
Enable frozen_string_literal
2019-09-18 13:40:07 +10:00
Mike Angell
d8403af515
Reimplementation of Static Registers ( #1157 )
2019-09-18 13:25:55 +10:00
Mike Angell
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 <dylan.smith@shopify.com >
2019-09-18 13:19:45 +10:00
Thierry Joyal
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
9a42c8c8b2
Merge pull request #1149 from Shopify/liquid-usage
...
Add usage tracking
2019-09-16 12:14:50 +10:00
Mike Angell
1fcef2133f
Merge pull request #1143 from Shopify/styling-fixes-1
...
Apply simple rubocop fixes
2019-09-16 12:14:32 +10:00
Mike Angell
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
1f90a37b63
Merge branch 'master' into styling-fixes-1
2019-09-04 14:26:27 +10:00
Mike Angell
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
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
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
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
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
7b309dc75d
Merge pull request #1135 from Shopify/fix-failing-rubocop
...
Resolve failing rubocop issues
2019-08-29 01:11:25 +10:00
Mike Angell
8f68cffdf1
Resolve failing rubocop issues
2019-08-29 00:45:38 +10:00
Mike Angell
dd27d0fd1d
Merge pull request #1133 from Shopify/liquid-tag-fixes
...
Bugfix for new Liquid tag
2019-08-29 00:36:13 +10:00
Mike Angell
7a26e6b3d8
Merge pull request #1131 from Shopify/bump-ruby-2-4
...
Rubocop upgrade, Ruby 2.4 minimum and TruffleRuby
2019-08-29 00:33:42 +10:00
Mike Angell
cf4e77ab0c
Merge branch 'master' into bump-ruby-2-4
2019-08-29 00:24:45 +10:00
Mike Angell
7bae55dd39
Bugfix for new Liquid tag
2019-08-28 23:39:19 +10:00
Tobias Lütke
0ce8aef229
Merge pull request #1103 from ashmaroli/ci-profile-memory
...
Add a CI job to profile memory usage of commit
2019-08-27 15:11:55 -04:00
Tobias Lütke
6eab595fae
Merge pull request #1086 from Shopify/liquid-tag
...
Add {% liquid %} and {% echo %} tags
2019-08-27 15:10:20 -04:00
Mike Angell
b16b109a80
Bump Minimum version to 2.4 and bump Rubocop
2019-08-28 00:31:44 +10:00
Justin Li
831355dfbd
Merge pull request #1117 from ashmaroli/reduce-allocations-template-lookup-class
...
Reduce allocations while registering Liquid tags
2019-08-07 16:37:39 -04:00
Ashwin Maroli
00702d8e63
Use Object.const_get directly
2019-08-07 11:44:53 +05:30
Justin Li
197c058208
Merge pull request #1099 from ashmaroli/stash-types-private-constant
...
Use a private constant to stash token-types
2019-08-06 17:56:56 -04:00
Justin Li
98dfe198e1
Merge pull request #1115 from ashmaroli/reduce-allocations-from-truncate-filters
...
Reduce string allocations from truncate filters
2019-08-06 17:48:43 -04:00
Ashwin Maroli
c2c1497ca8
Reduce allocations while registering Liquid tags
2019-07-22 20:42:37 +05:30
Ashwin Maroli
d19967a79d
Reduce string allocations from truncate filters
2019-07-22 17:35:45 +05:30
Florian Weingarten
248c54a386
Merge pull request #1091 from Shopify/rendering-with-less-garbage
...
Rendering with less garbage
2019-07-19 15:53:22 +01:00
Ashwin Maroli
2c42447659
Rename constant to SINGLE_TOKEN_EXPRESSION_TYPES
2019-05-17 23:30:24 +05:30
Ashwin Maroli
ab698191b9
Add a CI job to profile memory usage of commit
2019-05-17 22:47:05 +05:30
Ashwin Maroli
9ef6f9b642
Freeze mutable object assigned to constant
2019-04-29 23:50:49 +05:30
Ashwin Maroli
4684478e94
Use a private constant to stash token-types
2019-04-29 23:45:45 +05:30
Florian Weingarten
b3b63a683f
Merge pull request #1097 from ashmaroli/stackprof-no-jruby
...
Don't attempt to install stackprof gem on JRuby
2019-04-24 09:11:44 -04:00
Ashwin Maroli
1c577c5b62
Don't attempt to install stackprof gem on JRuby
2019-04-24 11:31:20 +05:30
David Cornu
755d2821f3
Merge pull request #1094 from Shopify/for-tag/invalid-limit-offset
...
Make sure the for tag's limit and offset are integers
2019-04-23 17:20:54 -04:00
David Cornu
495b3d312f
Merge pull request #1095 from Shopify/travis/remove-rainbow-gem
...
Stop installing the rainbow gem on Travis
2019-04-23 17:20:38 -04:00
Florian Weingarten
9640e77805
render_to_output_buffer
2019-04-23 17:06:29 -04:00
David Cornu
453f6348c2
Stop installing the rainbow gem on Travis
2019-04-23 16:55:37 -04:00
David Cornu
70ed1fc86d
Make sure the limit and offset values are integers
2019-04-23 16:44:37 -04:00
Florian Weingarten
2a1ca3152d
liquid without the garbage
2019-04-22 16:34:31 -04:00
Florian Weingarten
c2ef247be5
Merge pull request #1092 from Shopify/rake-memory-profiler-task
...
rake memory_profile:run
2019-04-22 16:33:32 -04:00
Florian Weingarten
1518d3f6f9
Merge pull request #1093 from Shopify/bytesize-not-length
...
use bytesize, not length
2019-04-18 18:39:21 +01:00
Florian Weingarten
c67b77709d
rake memory_profile:run
2019-04-17 19:09:26 +01:00
Florian Weingarten
c89ce9c2ed
use bytesize, not length
2019-04-17 18:55:13 +01:00
Justin Li
7dc488a73b
Simplifications from review
2019-04-09 15:19:47 -04:00
Justin Li
e6ed804ca5
Fix line number tracking after a non-empty blank token
2019-04-08 18:43:09 -04:00
Justin Li
951abb67ee
Remove {% local %} tag
2019-04-08 18:34:39 -04:00
Justin Li
8d1cd41453
Add {% liquid %}, {% echo %}, and {% local %} tags
2019-04-01 20:08:38 -04:00
Richard Monette
b0629f17f7
Merge pull request #1073 from Shopify/defer-alloc-hash
...
defer hash allocation until needed for unparsed_args
2019-03-20 13:34:48 -04:00
Richard Monette
274f078806
defer hash allocation in parse_filter_expressions
...
add exploration of GC object allocation
remove performance test
can actually remove one more if branch
use named locals to improve readability
2019-03-20 13:20:31 -04:00
Richard Monette
d7171aa084
Merge pull request #1077 from Shopify/update-cops-for-trailing-comma
...
update Rubocop for trailing comma styles
2019-03-19 16:02:26 -04:00
Richard Monette
06c4789dc5
update Rubocop for trailing comma styles
2019-03-19 11:05:05 -04:00
Justin Li
f2f467bdbc
v4.0.3
2019-03-12 12:43:48 -04:00
Justin Li
ff99d92c18
Merge pull request #1072 from Shopify/fix-interrupts
...
Fix interrupts through includes
2019-03-12 12:26:12 -04:00
Justin Li
39fecd06db
Fix interrupts through includes
2019-03-12 12:18:22 -04:00
Justin Li
8013df8ca2
v4.0.2
2019-03-08 15:43:46 -05:00
Clayton Smith
14cd011cb5
Merge pull request #1070 from Shopify/url-decode-validation
...
Validate the character encoding in url_decode.
2019-03-08 11:09:40 -05:00
Clayton Smith
e2d9907df2
Validate the character encoding in url_decode.
2019-03-07 14:01:10 -05:00
Justin Li
23d669f5e6
Merge pull request #1032 from printercu/patch-1
...
Single regexp for strip_html
2019-02-22 13:04:04 -05:00
Justin Li
ed73794f82
Preserve existing strip_html behaviour for weird inputs
2019-02-22 13:00:36 -05:00
Ashwin Maroli
f59f6dea83
Fix simple RuboCop offenses and update TODO file ( #1062 )
...
* Fix Layout/EmptyLineAfterMagicComment offense
* Fix Layout/ExtraSpacing offense
* Fix Layout/ClosingParenthesisIndentation offenses
* Fix Style/MutableConstant offense
* Fix Style/UnneededInterpolation offenses
* Fix Style/RedundantParentheses offenses
* Update TODO config for RuboCop
* Add executable bit to test/test_helper.rb
ref: https://travis-ci.org/Shopify/liquid/jobs/488169512#L578
2019-02-22 12:32:56 -05:00
Garland Zhang
7a81fb821a
Merge pull request #1059 from Shopify/map_error_checking
...
Apply error-checking to sort, sort_natural, where, uniq, map, compact filter(s)
2019-02-22 10:42:16 -05:00
Garland Zhang
cec27ea326
Extract raise error line and some filters with begin/rescue blocks
2019-02-21 17:00:20 -05:00
Justin Li
14999e8f7c
Merge pull request #1053 from er1/update-changelog-v4.0.1
...
Updated changelog for v4.0.1 for (#1038 )
2019-02-10 10:37:31 -05:00
Eric Chan
b41fc10d8e
Updated changelog for v4.0.1
2018-12-03 23:54:00 -05:00
David Cornu
2b3c81cfd0
Merge pull request #1046 from Shopify/make-builds-green
...
Make builds green
2018-10-24 10:46:01 -04:00
David Cornu
2a2376bfd9
Run :test before :rubocop in the default Rake task
2018-10-19 15:06:36 -04:00
David Cornu
ca9e75db53
Reduce perceived complexity for #sort and #sort_natural
2018-10-19 14:57:33 -04:00
David Cornu
407c8abf30
Use TrailingCommaInLiteral
...
TrailingCommaInArrayLiteral and TrailingCommaInHashLiteral were introduced in v0.53.0 and we're running v0.49.0.
https://github.com/rubocop-hq/rubocop/blob/master/CHANGELOG.md#0530-2018-03-05
2018-10-19 14:52:16 -04:00
Justin Li
43f181e211
Merge pull request #1044 from Shopify/enable-cla-bot
...
Enable CLA bot
2018-10-19 09:34:30 -04:00
Tim Layton
7c613e87cb
Enable CLA bot
2018-10-18 23:10:56 -07:00
Stephen Paul Weber (Work)
fe4034ccf9
Merge pull request #1025 from Shopify/traverse-ast
...
Liquid::ParseTreeVisitor
2018-10-18 09:42:56 -04:00
Stephen Paul Weber
52ee303a36
s/block.call/yield
2018-10-18 09:41:53 -04:00
Stephen Paul Weber
8217a8d86c
Add test for the full array structure
2018-10-18 09:39:05 -04:00
Stephen Paul Weber
7d13d88258
s/Traversal/ParseTreeVisitor
2018-10-18 09:38:33 -04:00
Stephen Paul Weber
ff727016ef
s/callback_for/add_callback_for
2018-10-18 09:37:48 -04:00
Stephen Paul Weber
c11fc656cf
Colocate Traversal classes with classes they traverse
...
This puts all knowledge of the traversal in the same file, and removes
the need for a CASES registry.
2018-10-18 09:37:48 -04:00
Stephen Paul Weber
d789ec4175
Liquid::Traversal
...
This enables traversal over whole document tree.
2018-10-15 10:11:58 -04:00
Samuel Doiron
fd09f049b0
Merge pull request #1026 from Shopify/where-filter
...
Add `where` filter to standard filters
2018-10-11 17:45:30 -04:00
Samuel
842986a972
Add where filter to standard filters
...
Users of Liquid will often wish to filter an array to only those items that match a certain criteria. For example, showing "pinned" messages at the top of a list.
Example usage:
`{{ comments | where: "pinned" | first }}`
or
`{{ products | where: "category", "kitchen" }}`
* Add where filter to standard filters
* Add tests for new where functionality
2018-10-11 16:52:32 -04:00
Florian Weingarten
4661700a97
bump to v4.0.1
2018-10-09 11:13:19 +02:00
Justin Li
cd5a6dd225
Merge pull request #930 from er1/fix-sort-natural-on-nil
...
Fix sort and sort_natural on sorting with non-string and nil values
2018-10-04 22:32:37 -04:00
printercu
89c1ba2b0e
Fix rubocop warning
2018-09-27 17:24:01 +03:00
printercu
479d8fb4a4
Single regexp for strip_html
2018-09-27 17:13:35 +03:00
Justin Li
53b8babf52
Merge pull request #1027 from Shopify/rubocop-fix
...
Update deprecated rubocop name
2018-09-13 17:16:36 -04:00
Justin Li
76b4920d3e
Update deprecated rubocop name
2018-09-13 17:15:32 -04:00
Justin Li
8dcc319128
Merge pull request #1024 from koic/suppress_warning_bigdecimal_new
...
Suppress warning: `BigDecimal.new` is deprecated
2018-09-09 08:28:24 -04:00
Koichi ITO
0b36461d80
Suppress warning: BigDecimal.new is deprecated
...
## Summary
`BigDecimal.new` is deprecated since BigDecimal 1.3.3 for Ruby 2.5.
This PR suppresses the following warnings.
```console
% ruby -v
ruby 2.6.0dev (2018-09-06 trunk 64648) [x86_64-darwin17]
% RUBYOPT=-w bundle exec rake
(snip)
/Users/koic/src/github.com/Shopify/liquid/lib/liquid/utils.rb:49:
warning: BigDecimal.new is deprecated; use Kernel.BigDecimal method
instead.
/Users/koic/src/github.com/Shopify/liquid/lib/liquid/utils.rb:53:
warning: BigDecimal.new is deprecated; use Kernel.BigDecimal method
instead.
```
## Other Information
The following is a change of BigDecimal 1.3.3 for Ruby 2.5 related to this PR.
- 533737338d
- 16738ad0ac
2018-09-09 21:10:20 +09:00
Justin Li
70e75719de
Merge pull request #1010 from Shopify/circle-ci-remove-38409b
...
Goodbye CircleCI 👋
2018-05-15 10:53:51 -04:00
shopify-admins
b037b19688
Removing CircleCI 1.0 [ci skip]
2018-05-15 10:35:38 -04:00
Florian Weingarten
d0f77f6cf4
Merge pull request #1006 from Benhgift/master
...
add installation instruction
2018-04-26 18:20:02 +01:00
Ben Gift
0be260bc97
add installation instruction
2018-04-26 08:12:47 -07:00
Dylan Thacker-Smith
5f0b64cebc
Merge pull request #1005 from christopheraue/render_refactor
...
Refactored and optimized rendering
2018-04-19 16:44:57 -04:00
Christopher Aue
c086017bc9
refactored and optimized rendering
...
Measures:
1) A while loop is faster than iterating with #each.
2) Check string, variable and block tokens first. They are far more
frequent than interrupt tokens. In their case, checking for an
interrupt can be avoided.
3) String tokens just map to themselves and don't need the special
treatment of BlockBody#render_node (except the resource limit
check).
Benchmark
=========
$ bundle exec rake benchmark:run
Before
------
Run 1)
parse: 41.630 (± 0.0%) i/s - 420.000 in 10.089309s
render: 75.962 (± 3.9%) i/s - 763.000 in 10.066823s
parse & render: 25.497 (± 0.0%) i/s - 256.000 in 10.040862s
Run 2)
parse: 42.130 (± 0.0%) i/s - 424.000 in 10.064738s
render: 77.003 (± 1.3%) i/s - 777.000 in 10.093524s
parse & render: 25.739 (± 0.0%) i/s - 258.000 in 10.024581s
Run 3)
parse: 41.976 (± 2.4%) i/s - 420.000 in 10.021406s
render: 76.184 (± 1.3%) i/s - 763.000 in 10.018104s
parse & render: 25.641 (± 0.0%) i/s - 258.000 in 10.062549s
After
-----
Run 1)
parse: 42.283 (± 0.0%) i/s - 424.000 in 10.028306s
render: 83.158 (± 2.4%) i/s - 832.000 in 10.009201s
parse & render: 26.417 (± 0.0%) i/s - 266.000 in 10.069718s
Run 2)
parse: 41.159 (± 4.9%) i/s - 412.000 in 10.031297s
render: 81.591 (± 3.7%) i/s - 816.000 in 10.018225s
parse & render: 25.924 (± 3.9%) i/s - 260.000 in 10.035653s
Run 3)
parse: 42.418 (± 2.4%) i/s - 424.000 in 10.003100s
render: 84.183 (± 2.4%) i/s - 847.000 in 10.069781s
parse & render: 26.726 (± 0.0%) i/s - 268.000 in 10.029857s
2018-04-19 12:10:15 +02:00
Dylan Thacker-Smith
4369fe6c85
Improve the unexpected end delimiter message for block tags. ( #1003 )
2018-04-05 11:18:13 -04:00
Justin Li
c118e6b435
Merge pull request #992 from ashmaroli/each-without-index
...
Replace unnecessary Array#each_with_index with Array#each
2018-03-16 14:28:05 -04:00
Ashwin Maroli
0fbaf873d9
replace unnecessary #each_with_index with #each
2018-03-16 14:31:43 +05:30
Justin Li
5980ddbfae
Merge pull request #988 from ashmaroli/regex-to-constant
...
Assign regexps to constants
2018-03-14 16:49:17 -04:00
Ashwin Maroli
193fc0fb7a
revert to earlier regex for matching floats
2018-03-14 07:02:04 +05:30
Ashwin Maroli
e4da4d49d2
assign regex to a constant
2018-03-13 23:36:56 +05:30
Justin Li
a0bec1f873
Merge pull request #981 from nicolasleger/patch-1
...
[CI] Test against Ruby 2.5 version
2018-03-05 11:23:18 -05:00
Nicolas Leger
4aa3261518
[CI] Test against Ruby 2.5 version
2018-02-12 00:23:06 +01:00
Dylan Thacker-Smith
04d552fabb
Gemfile: Use https rather than git protocol to fetch liquid-c
2018-02-01 07:08:19 -05:00
Dylan Thacker-Smith
5106466a2d
Add a regression test for a liquid-c trim mode bug ( #972 )
2018-01-25 10:55:01 -05:00
Justin Li
5d6c1ed7c6
Merge pull request #963 from lostapathy/patch-1
...
have travis test against ruby 2.4
2017-12-15 16:53:26 -05:00
Joe Francis
a594653a0c
have travis test against ruby 2.4
2017-12-15 14:27:17 -06:00
Thibaut Courouble
0c802aba17
Merge pull request #958 from Shopify/minmax
...
Rename min/max filters for clarity
2017-12-06 11:41:12 -05:00
Thibaut Courouble
147d7ae24d
Rename min/max filters for clarity
2017-12-06 09:48:30 -05:00
Thibaut Courouble
282d42f98d
Fix min/max filters
2017-12-06 08:58:05 -05:00
Justin Li
e6ba6ee87b
Revert "Use replacement string for replace filters literally ( #924 )"
...
This reverts commit 27c91203ab .
2017-12-04 15:07:59 -05:00
Nithin Bekal
2ad7a37d44
Merge pull request #954 from Shopify/max-min-filters
...
Add max and min filters
2017-11-30 14:18:43 -05:00
Nithin Bekal
4bdaaf069f
Add max/min filters
2017-11-30 13:56:37 -05:00
Justin Li
85b1e91aed
Merge pull request #952 from Shopify/bump-rubocop
...
Bump rubocop
2017-11-22 12:44:36 -05:00
Justin Li
a7c5e247c8
Bump rubocop
2017-11-22 11:59:06 -05:00
Dylan Thacker-Smith
6c117fd7dd
refactor: Reduce maximum block nesting in Liquid::BlockBody#parse ( #944 )
2017-10-19 10:12:40 -04:00
Maxime Bedard
7d2d90d715
Merge pull request #932 from Shopify/avoid-default-values-hash
...
Avoid hash with default values due to inconsistent marshaling
2017-10-17 16:02:45 -04:00
Maxime Bedard
f761d21215
Use {} notation
2017-09-20 09:48:23 -04:00
Maxime Bedard
a796c17f8b
Avoid hash with default values due to inconsistent marshalling
2017-09-19 16:23:14 -04:00
Eric Chan
deb10ebc7a
Sorting support for data with undefined values
2017-09-14 02:00:43 -04:00
Eric Chan
cfe1844de9
Added test coverage for sort_natural
2017-09-13 22:17:59 -04:00
Eric Chan
59950bff87
Fix sort_natural on sorting with non-string values
2017-09-13 01:37:40 -04:00
Dylan Thacker-Smith
27c91203ab
Use replacement string for replace filters literally ( #924 )
2017-08-28 11:51:20 -04:00
Justin Li
44eaa4b9d8
Merge pull request #920 from Shopify/symbol_to_liquid
...
Support rendering symbols as strings
2017-08-18 12:10:53 -04:00
Pascal Betz
a979b3ec95
Do not raise when variable is defined but nil when using strict_variables
2017-08-18 12:09:57 -04:00
Justin Li
bf3e759da3
Support rendering symbols as strings
2017-08-17 23:10:57 -04:00
Rene
59162f7a0e
added attr_readers for collection and variable names in for tag ( #909 )
2017-07-06 09:41:48 -04:00
Thierry Joyal
c582b86f16
Merge pull request #898 from Shopify/cgi-powered-standard-filters-to-handle-non-string-inputs
...
CGI powered standard filters to handle non string inputs
2017-05-26 18:05:42 +00:00
Thierry Joyal
e340803d12
CGI powered standard filters to handle non string inputs
2017-05-25 15:53:41 +00:00
Dylan Thacker-Smith
48a6d86ac2
Use stackprof to test to lack of object allocations ( #896 )
2017-05-12 09:20:51 -04:00
Dylan Thacker-Smith
3bb29d5456
Replace assert_equal nil, with a assert_nil ( #895 )
2017-05-11 14:05:03 -04:00
Dylan Thacker-Smith
9c72ccb82f
Limit how much blocks can be nested during parsing ( #894 )
2017-05-11 09:37:53 -04:00
Dylan Thacker-Smith
62d4625468
Use a loop to strictly parse binary comparisons to avoid recursion ( #892 )
...
Using recursion allows a malicious template to cause a SystemStackError
2017-05-10 10:41:52 -04:00
Dylan Thacker-Smith
8928454e29
Use a loop to evaluate binary comparisions to avoid recursion ( #891 )
...
Using recursion allows a malicious template to cause a SystemStackError
2017-05-10 10:41:24 -04:00
Florian Weingarten
1370a102c9
Merge pull request #789 from evulse/contains-strict-fix
...
Allow variables to start with contains in strict parser
2017-03-24 09:50:31 -04:00
Mike Angell
c9bac9befe
Merge branch 'master' into contains-strict-fix
2017-03-24 11:09:09 +10:00
Mike
210a0616f3
Update History to include fix
2017-03-24 10:35:56 +10:00
Lasse Skindstad Ebert
5149cde5c3
Fix include tag used with strict_variables ( #829 )
...
Fixes https://github.com/Shopify/liquid/issues/828
2017-03-22 16:00:31 -04:00
Florian Weingarten
22f2cec5de
Merge pull request #864 from chenxianyu2015/fix-strainer-add_filter-method
...
fix #861 : duplicate inclusion condition logic error of Liquid::Strainer.add_filter method
2017-02-23 14:06:20 -05:00
chenxianyu
4318240ae0
test: modify Strainer.add_filter duplicate inclusion test case
2017-02-22 10:33:22 +08:00
chenxianyu
aa79c33dda
fix: Strainer.add_filter method
2017-02-13 15:50:19 +08:00
Justin Li
b1ef28566e
Merge pull request #846 from mrmanc/master
...
Clarifies spelling of for’s reversed flag to address #843
2017-02-10 19:26:38 -05:00
Justin Li
41bcc48222
Merge pull request #854 from jaredbeck/patch-1
...
Docs: Help people upgrade to 4, re: liquid_methods
2017-02-10 19:25:04 -05:00
Dylan Thacker-Smith
27d5106dc9
Merge pull request #860 from Shopify/handle-string-node-render-exc
...
Avoid calling line_number on String node when rescuing a render error.
2017-02-10 14:13:11 -05:00
Dylan Thacker-Smith
7334073be2
Avoid duck typing to detect whether to call render on a node.
2017-02-10 13:49:26 -05:00
Dylan Thacker-Smith
5dcefd7d77
Avoid calling line_number on String node when rescuing a render error.
2017-02-07 15:34:10 -05:00
Richard Monette
25c7b05916
Merge pull request #857 from Shopify/handle-join-on-fixnum
...
handle join on fixnum
2017-02-01 14:25:40 -05:00
Richard Monette
d17f86ba4d
handle join on fixnum
2017-02-01 12:47:35 -05:00
Jerry Liu
384e4313ff
Merge pull request #851 from Shopify/benchmark-render
...
Allow benchmarks to benchmark render by itself
2017-01-31 17:18:56 -05:00
Jerry Liu
23f2af8ff5
fix travis build
2017-01-31 17:04:36 -05:00
Jerry Liu
a93eac0268
Introduce new benchmarking methods to liquid to use on rubybench
2017-01-27 10:56:16 -05:00
Florian Weingarten
2cc7493cb0
Merge pull request #855 from Shopify/bundler-benchmark-group
...
Create a benchmark group in Gemfile
2017-01-20 16:41:11 -05:00
Jerry Liu
85463e1753
add benchmark-ips to benchmark group in Gemfile
2017-01-20 16:04:42 -05:00
Jared Beck
52ff9b0e84
Docs: Help people upgrade to 4, re: liquid_methods
...
The discussion in #568 helped me.
[ci skip]
2017-01-19 14:23:39 -05:00
Dylan Thacker-Smith
0c58328a40
test: Equality comparison of two hashes ( #850 )
2017-01-16 15:56:38 -05:00
Dylan Thacker-Smith
2bb3552033
Fix internal liquid error when comparing hash with incompatible type ( #849 )
2017-01-16 13:13:17 -05:00
Mark Crossfield
8b751ddf46
Removes a non ascii character from comment to appease Rubocop
2017-01-09 10:16:35 +00:00
Mark Crossfield
e5cbdb2b27
Clarifies spelling of for’s reversed flag to address #843
...
It should now be harder to read the docs and miss the extra letter required for reversed compared to reverse, which causes a fairly generic syntax warning when trying to reverse sort a collection in a for loop.
2017-01-08 12:44:12 +00:00
Justin Li
ffb0ace303
Update changelog for 4.0.0
2016-12-16 13:11:22 -05:00
Florian Weingarten
ad00998ef8
bump to v4
2016-12-14 11:58:42 -05:00
Dylan Thacker-Smith
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
fae3a2de7b
Add version constraint to rake to fix CI ( #836 )
2016-12-09 14:01:15 -05:00
Dylan Thacker-Smith
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
Dylan Thacker-Smith
a9b84b7806
test: Use ruby 2.1 in Circle CI
2016-12-05 15:36:42 -05:00
Dylan Thacker-Smith
6cc2c567c5
Merge pull request #832 from Shopify/drop-ruby-2.0
...
Drop support for ruby 2.0
2016-12-05 13:56:15 -05:00
Dylan Thacker-Smith
812e3c51b9
test: Add ruby 2.3.3 to CI
...
Travis doesn't have a ruby 2.3 alias, so the latest 2.3.x version is
specified instead.
2016-12-05 13:53:02 -05:00
Dylan Thacker-Smith
9dd0801f5c
Drop support for ruby 2.0
...
It is no longer maintained upstream
2016-12-05 13:51:49 -05:00
Dylan Thacker-Smith
b146b49f46
fix: Clear the strainer cache when a global filter is added ( #826 )
2016-11-24 10:32:11 -05:00
Richard Monette
86944fe7b7
Merge pull request #809 from Shopify/introduce-unhandled-liquid-exception
...
introduce unhandled liquid exception
2016-10-31 10:20:06 -04:00
Richard Monette
a549d289d7
introduce unhandled liquid exception
...
check arity
2016-10-28 09:40:44 -04:00
Richard Monette
b2feeacbce
Merge pull request #812 from Shopify/allow-split-to-accept-numeric
...
allow split to accept numeric
2016-10-26 10:59:44 -04:00
Richard Monette
143ba39a08
allow split to accept numeric
2016-10-26 10:43:04 -04:00
Richard Monette
43e59796f6
Merge pull request #805 from Shopify/dont-explode-when-sorting-nil-property
...
dont explode when sorting nil property
2016-10-05 10:18:16 -04:00
Richard Monette
bb3624b799
dont explode when sorting nil property
2016-10-04 13:22:29 -04:00
Konstantin Tennhard
64fca66ef5
Merge pull request #797 from Shopify/truncatewords-resiliency
...
Standard filter truncate / truncatewords: force truncate_string to string
2016-09-13 10:43:55 -04:00
Florian Weingarten
e9d7486758
4.0.0.rc3
2016-09-13 06:33:20 -04:00
Philibert Dugas
2bb98c1431
Merge pull request #798 from PhilibertDugas/bugfix-#697
...
Fixing #697 with better exception
2016-09-12 13:53:22 -04:00
Konstantin Tennhard
95d5c24bfc
Standard filter truncate: truncate_string string coercion
...
The argument `truncate_string` is now coerced into a string to avoid
`NoMethodError`s. This is mostly for added resiliency. It is doubtful
that someone would actually intent to use a number as truncate string,
but accidentally supplying one is entirely possible.
2016-09-12 12:13:12 -04:00
Philibert Dugas
b7ee1a2176
Fixing #697 with better exception
...
When including a template which is not defined, the exception raised is
*undefined method `split` for nil:NilClass*
This occurs for a scenario like the following:
`{% include nil %}`
or
`{% include undefined-var %}`
Making the code raise an argument error to allow better understanding of
the include error
2016-09-12 09:31:59 -04:00
Florian Weingarten
0eca61a977
Merge pull request #799 from kainjow/patch-1
...
Update liquid-c
2016-09-12 08:12:14 -04:00
Kevin Wojniak
9bfd04da2d
Update liquid-c
2016-09-10 09:23:15 -07:00
Konstantin Tennhard
302185a7fc
Standard filter truncatewords: force truncate_string to string
...
Currently, `truncatewords` raises a TypeError when the argument
`truncate_string` is an interger. This PR forces string coercion for any
value provided for this argument. Thus,
```ruby
assert_equal 'one two1', @filters.truncatewords("one two three", 2, 1)
```
holds true. Another option would be to raise a `Liquid::ArgumentError`.
What is preferred?
2016-09-09 16:50:50 -04:00
Michael Angell
6ed6e7e12f
Allow :id to start with the word contains
2016-08-20 20:32:46 +10:00
Mike Angell
f41ed78378
Merge pull request #1 from Shopify/master
...
Pull inline with upstream
2016-08-17 21:30:08 +10:00
Florian Weingarten
50c85afc35
Merge pull request #786 from Shopify/bump-liquid-c
...
Bump LiquidC for whitespace changes
2016-08-11 13:38:42 -04:00
Florian Weingarten
5876dff326
Bump LiquidC for whitespace changes
2016-08-11 13:21:39 -04:00
Florian Weingarten
f25185631d
Merge pull request #773 from evulse/whitespace-trim
...
Add whitespace control character and associated tests
2016-08-11 13:20:12 -04:00
Michael Angell
283f1bad18
Use .last instead of pop push method for updating last node in nodelist
2016-07-08 20:49:30 +10:00
Michael Angell
e1d40c7d89
Add whitespace control character and associated tests
2016-06-28 09:15:45 +10:00
Justin Li
19c6eb426a
Merge pull request #769 from zacstewart/patch-1
...
Fix doc formatting of code examples in file_system
2016-06-15 17:10:11 -04:00
Zac Stewart
f87b06095d
Fix doc formatting of code examples in file_system
...
These code examples are being rendered as paragraph text in the docs.
2016-06-15 15:34:14 -04:00
Gaurav Chande
b81d54e789
Merge pull request #761 from Shopify/range-to_liquid
...
Support Range Type
2016-06-02 16:48:30 -04:00
Gaurav Chande
00f53b16e8
Prevent Range usage in templates from blowing up
2016-06-02 16:38:44 -04:00
Gaurav Chande
e4cf55b112
Merge pull request #748 from Shopify/expose-tags
...
Make Template.tags loop-able
2016-04-25 11:59:37 -04:00
Gaurav Chande
5bb211d933
Ensure no tag leakage since registry is global
2016-04-25 11:50:46 -04:00
Gaurav Chande
6adc431a19
Make tag registry enumerable
2016-04-25 11:38:42 -04:00
Justin Li
23d2beed41
Merge pull request #744 from Shopify/raw-syntax-method
...
Make markup validation a method on Liquid::Raw
2016-04-13 17:08:02 -04:00
Drew Martin
a80ecb7678
make markup validation a method on Liquid::Raw
2016-04-13 14:52:30 -04:00
Florian Weingarten
361c695264
Merge pull request #736 from Shopify/abs-filter
...
Abs filter
2016-04-05 09:13:56 -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
3ea84f095f
Merge pull request #734 from Shopify/concat-liquid-error
...
Raise a Liquid::Error when a non-array is passed into the concat filter.
2016-03-31 15:47:43 -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
6828670bfe
Merge pull request #732 from Shopify/v400rc2
...
Release v4.0.0rc2
2016-03-30 17:02:34 -04:00
Florian Weingarten
d2f16d92d6
Fix a bunch of Ruby warnings
2016-03-30 20:42:30 +00:00
Justin Li
d233acb483
Update history to reflect merge of #731
2016-03-30 16:36:57 -04:00
Florian Weingarten
8920e2a2a2
Release v4.0.0rc2
2016-03-30 20:13:21 +00:00
Justin Li
bfee507005
Merge pull request #731 from ismasan/duck_typed_maths_filters
...
Duck typed maths filters
2016-03-30 16:09:16 -04:00
Ismael Celis
929c89789f
Test that all maths filters work with duck-typed #to_number
2016-03-30 13:35:09 -03: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
Justin Li
021bafd260
Merge pull request #725 from jeroenvisser101/performance-start-with-vs-regex
...
Use start_with? instead of Regex
2016-03-21 10:34:28 -04: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
9a7778e52c
Merge pull request #707 from Shopify/drop-without-context
...
@context not always present on a Drop
2016-03-01 18:07:16 -05:00
Gaurav Chande
dde00253f9
context is not always present on a Drop
2016-03-01 21:22:11 +00:00
Gaurav Chande
18d1644980
Merge pull request #705 from Shopify/register-filter-warn
...
Strainer#add_filter Raises on Private Override
2016-02-24 15:31:41 -05:00
Gaurav Chande
c424d47274
Add changelog entry for Strainer method override change
2016-02-24 20:23:57 +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
3146d5c3f2
Grammatic and other fixes to CONTRIBUTING.md
2016-02-02 23:45:37 -05:00
Justin Li
0cc8b68a97
Make logic in Context#lookup_and_evaluate more understandable
2016-02-02 23:22:46 -05:00
Justin Li
5a50c12953
Update history to reflect merge of #691
...
[ci skip]
2016-02-02 23:14:41 -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
2d891ddd8f
Merge pull request #695 from Shopify/assign-score
...
Take nested values into account for assign score
2016-02-01 13:14:40 -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
198f0aa366
Add test for nested assign score bookkeeping
2016-02-01 13:01:23 -05:00
Justin Li
f2e6adf566
Remove arbitrary send vector
2016-02-01 11:38:40 -05:00
Justin Li
08de6ed2c5
Merge pull request #687 from pathawks/default
...
Performance improvement: `default` filter
2016-01-24 11:34:05 -05:00
Pat Hawks
7e322f5cf8
Performance improvement: default filter
2016-01-23 23:18:51 -08:00
Justin Li
bf86a5a069
Merge pull request #688 from Shopify/gmp
...
Install libgmp3-dev in travis
2016-01-23 21:46:37 -05:00
Justin Li
0141444814
Install libgmp3-dev in travis
2016-01-23 21:41:14 -05:00
Justin Li
6d30226768
Update changelog for 4.0.0rc1
2016-01-08 15:08:06 -05:00
Florian Weingarten
63e8bac1a4
meh
2016-01-08 20:00:45 +00:00
Florian Weingarten
8449849ed5
Merge pull request #682 from Shopify/4-pre-beta1
...
4.0.0.rc1
2016-01-08 20:59:59 +01:00
Florian Weingarten
4bc198a0db
4.0.0.rc1
2016-01-08 19:59:38 +00:00
Florian Weingarten
3921dbe919
Merge pull request #683 from Shopify/dropify-tablerowloop
...
Liquid::TablerowloopDrop
2016-01-08 20:41:54 +01: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
Dylan Thacker-Smith
99b5e86f0a
Merge pull request #680 from jcheatham/master
...
Ensure truncate is operating on a string
2015-12-23 18:41:39 -05: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
5f8086572b
Merge pull request #667 from Shopify/remove-empty-string-check
...
Remove nil and empty string check in invoke_drop.
2015-11-10 10:43:11 -05:00
Dylan Thacker-Smith
bdb9a4a47f
Remove nil and empty string check in invoke_drop.
2015-11-09 15:03:36 -05:00
Dylan Thacker-Smith
c38eec0293
Merge pull request #665 from tanelj/escape_filter_nil_fix
...
Fixed issue where "nil" value for "escape" filter breaks rendering
2015-11-06 10:54:48 -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
Thierry Joyal
a120cc587a
Merge pull request #661 from Shopify/rename-before-method-as-dynamic-method
...
Rename before_method as liquid_method_missing
2015-10-29 09:49:15 -04: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
31d7682f4e
Update history to reflect merge of #658
...
[ci skip]
2015-10-21 12:50:12 -04:00
Justin Li
5f1acbc086
Merge pull request #658 from Shopify/url_decode-filter
...
Merge pull request 658
2015-10-21 12:49:14 -04:00
Justin Li
8612716129
Remove rescue in unescape filter
2015-10-21 02:01:21 -04:00
Larry Archer
e6392d1cc1
Tests for new url_decode filter
2015-10-21 01:58:22 -04:00
Larry Archer
04381418d3
Add url_decode filter to accompany url_encode
2015-10-21 01:58:22 -04:00
Justin Li
89ccdabe9a
Merge pull request #655 from dijonkitchen/patch-1
...
Rename MIT-LICENSE to LICENSE
2015-10-14 12:08:37 -04:00
Jonathan Chen
c0fc6777b0
Rename MIT-LICENSE to LICENSE
...
Standard name format
2015-10-14 12:06:08 -04:00
Justin Li
cd03346239
Update history to reflect merge of #652
...
[ci skip]
2015-09-29 21:06:21 -04:00
Justin Li
b4f19da127
Merge pull request #652 from mcary/empty-array-sort
...
Merge pull request 652
2015-09-29 21:05:10 -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
d8bda2c892
Merge pull request #653 from Shopify/fix-rubocop-offenses
...
Fix offenses from the new version of rubocop.
2015-09-25 19:48:09 -04:00
Dylan Thacker-Smith
4f81c0a658
Lock rubocop version to avoid CI failures from new releases.
2015-09-25 19:42:35 -04:00
Dylan Thacker-Smith
704937bc00
Fix offenses from the new version of rubocop.
2015-09-25 19:34:44 -04:00
Justin Li
27c6b8074a
Update history to reflect merge of #610
...
[ci skip]
2015-08-03 20:51:41 -04:00
Justin Li
affae5ebef
Merge pull request #610 from boobooninja/gf3
...
Merge pull request 610
2015-08-03 20:50:14 -04:00
Florian Weingarten
fc1c0d0d83
Merge pull request #632 from knu/fix_date_error
...
Properly rescue ::ArgumentError in the date filter
2015-07-24 10:50:52 -04:00
Akinori MUSHA
a215b70de9
Properly rescue ::ArgumentError in the date filter
2015-07-24 13:35:06 +09:00
Justin Li
1f70928f8a
Update history to reflect merge of #631
...
[ci skip]
2015-07-23 17:07:40 -04:00
Justin Li
7713f6709d
Update history for 3.0.5
2015-07-23 17:06:12 -04:00
Justin Li
239cf0e5f5
Update history for 2.6.3
2015-07-23 17:05:58 -04:00
Dylan Thacker-Smith
fa187665b3
Merge pull request #631 from Shopify/fix-tz-test-failure
...
Fix a timezone test failure.
2015-07-23 16:34:48 -04:00
Dylan Thacker-Smith
cd0c5e954c
Fix a timezone test failure.
2015-07-23 16:19:59 -04:00
Florian Weingarten
490b457738
Merge pull request #626 from Shopify/fix_bracket_thing
...
Fix bracket thing
2015-07-17 17:19:06 +02: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
b42d35ff36
Merge pull request #620 from Shopify/accept-invalid-range-args
...
Add param to accept invalid input in to_integer
2015-07-09 13:24:28 -04: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
Justin Li
e88be60818
Merge pull request #618 from Shopify/move-reraise-for-line-number
...
Move the syntax error rescue for adding error line numbers.
2015-07-09 11:42:41 -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
bde14a650d
Merge pull request #617 from Shopify/rename-options-iv
...
Rename options instance variable in Variable and Tag.
2015-07-08 20:50:20 -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
9c9345869b
Merge pull request #614 from Shopify/remove-token-class
...
Implement line numbers without the Liquid::Token class.
2015-07-08 19:48:55 -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
Justin Li
afda01adbb
Merge pull request #616 from Shopify/handle-non-int-range-args
...
Handle non-int range lookup arguments
2015-07-08 17:47:27 -04:00
Justin Li
959cd6d2a2
Temporarily disable rubinius in CI
...
It takes much longer than the others and is currently broken
2015-07-08 17:47:05 -04:00
Justin Li
4c1b89e20e
Add regression test for ranges on non-integer types
2015-07-08 17:41:18 -04:00
Justin Li
83b6dd0268
Use to_integer for range lookup arguments
2015-07-08 17:37:07 -04:00
Justin Li
6fb402e60d
Move to_integer, to_date, and to_number to Liquid::Utils
2015-07-08 17:33:05 -04:00
Dylan Thacker-Smith
338287df5e
Merge pull request #613 from Shopify/taint-context-warning
...
Add taint warnings to the context rather than the template.
2015-07-07 16:23:10 -04:00
Dylan Thacker-Smith
c4c398174b
Use early returns rather than large if in Variable#taint_check
2015-07-07 15:56:03 -04:00
Dylan Thacker-Smith
80b6ac3bc7
Add taint warnings to the context rather than the template.
2015-07-07 15:53:02 -04:00
Dylan Thacker-Smith
15974d9168
Merge pull request #612 from Shopify/fix-block-body-naming
...
Use node to refer to objects from the nodelist rather than token.
2015-07-07 15:49:58 -04:00
Dylan Thacker-Smith
f22ab4358b
Merge pull request #611 from Shopify/no-escape-rescue
...
Remove standard exception rescue in escape filter.
2015-07-07 15:49:43 -04:00
Justin Li
9cf0d264e1
Require RuboCop v0.32.0 or later
2015-07-06 15:58:36 -04:00
Justin Li
575e3cae7a
Remove class length metric cop
2015-07-06 15:52:11 -04:00
Dylan Thacker-Smith
fad3b8275c
Use node to refer to objects from the nodelist rather than token.
2015-07-04 20:57:35 -04:00
Dylan Thacker-Smith
5a071cb7f2
Remove standard exception rescue in escape filter.
2015-07-04 13:48:25 -04:00
Justin Li
8cb2364179
Merge pull request #608 from Shopify/tag-tag_name
...
Add Liquid::Tag#tag_name
2015-07-02 16:28:37 -04:00
Gaurav Chande
3c23cfc167
Add Liquid::Tag#tag_name
2015-07-02 20:18:09 +00:00
Justin Li
8a8de46c6a
Merge pull request #603 from Shopify/format-history
...
Format changelog attribution to include one name only
2015-06-23 07:40:05 -07:00
Justin Li
58c7f226cc
Format changelog attribution to include one name only
2015-06-19 11:45:37 -04:00
Justin Li
adfcd0ab13
Update history to reflect merge of #600
...
[ci skip]
2015-06-19 11:38:59 -04:00
Justin Li
30ef7d14b0
Merge pull request #600 from carsonreinke/filter-compact
...
Merge pull request 600
2015-06-19 11:38:14 -04:00
Florian Weingarten
4920ec50e4
update changelog
2015-06-19 07:41:39 -04:00
David Cornu
e395229283
Merge pull request #601 from Shopify/safe-to-integer
...
Use to_integer instead of to_i on arguments
2015-06-16 11:31:20 -04:00
David Cornu
9470fba0c8
Exclude lib/liquid/standardfilters.rb from ModuleLength
2015-06-16 15:19:06 +00:00
David Cornu
ac180e8402
Use to_integer instead of to_i on arguments
2015-06-16 15:08:29 +00:00
Carson Reinke
7c5d54aced
Ignore Rubocop Metrics/ModuleLength for now
2015-06-15 15:07:25 -04:00
Carson Reinke
5fbb312a67
"Trailing whitespace detected."
2015-06-15 14:27:48 -04:00
Carson Reinke
8385099960
Added "compact" filter
2015-06-15 14:14:28 -04:00
Florian Weingarten
504b6fb3c7
Merge pull request #596 from Shopify/liquid_c_tests
...
Run tests with latest liquid/c gem
2015-06-08 22:52:57 +02:00
Florian Weingarten
01420e8014
fix gem platforms
2015-06-08 18:38:40 +00:00
Florian Weingarten
dde35a2907
shut up rubocop
2015-06-08 18:38:40 +00:00
Florian Weingarten
e2323332cd
Run tests with latest liquid/c gem
2015-06-08 18:38:35 +00:00
Florian Weingarten
7b4398d0c4
Merge pull request #595 from Shopify/uniq_on_strings
...
Fix uniq filter with string input
2015-06-05 16:27:05 +02:00
Florian Weingarten
1e23036b2d
Fix uniq filter with string input
2015-06-04 22:55:03 -04:00
Florian Weingarten
13716fa68b
Merge pull request #594 from boobooninja/rake_console
...
add rake console
2015-06-05 04:21:01 +02:00
Loren Hale
232e8bb4cd
add rake console
...
add Rake console task to load irb with liquid
2015-06-05 10:17:55 +08:00
Dylan Thacker-Smith
6968def5dd
Merge pull request #574 from Shopify/template-name-in-errors
...
Include template name with line numbers in render errors.
2015-06-04 15:28:12 -04:00
Dylan Thacker-Smith
ad3748af21
Include template name with line numbers in render errors.
2015-06-04 13:44:01 -04:00
Florian Weingarten
c82e04f4e6
Merge pull request #593 from Shopify/fix_predicate_name
...
Rename 'has_key?' and 'has_interrupt?'
2015-06-04 19:40:14 +02: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
b347fac3c0
Merge pull request #592 from Shopify/method_literal
...
blank and empty as variable names
2015-06-04 19:09:48 +02:00
Florian Weingarten
e761a6864e
clean up some rubocop stuff
2015-06-04 12:56:29 -04:00
Florian Weingarten
4c22cef341
blank and empty as variable names
2015-06-04 12:30:50 -04:00
Florian Weingarten
c319240174
run rubocop on CI
2015-06-04 11:57:25 -04:00
Florian Weingarten
6ace095207
Avoid parallel assignments
2015-06-04 11:56:47 -04:00
Florian Weingarten
e36f366c33
gitignore .bundle
2015-06-04 11:56:00 -04:00
Florian Weingarten
02729e89c0
make rubocop happy
2015-06-04 11:56:00 -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
79d7dd06df
Extract tag fetching into a method (which can be overriden then)
2015-06-04 04:39:54 +00: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
b79c0c611c
Merge pull request #586 from Shopify/string-contains-non-string
...
Avoid an exception from checking if a string contains a non-string.
2015-06-03 10:58:38 -04: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
Dylan Thacker-Smith
ea29f8b4b8
Merge pull request #583 from Shopify/slice-nil-offset
...
Raise a Liquid::ArgumentError in slice filter for invalid integers.
2015-06-03 01:43:56 -04:00
Dylan Thacker-Smith
c84f4520cc
Keep input out of error message and add test for slice Integer parsing.
2015-06-03 01:35:01 -04:00
Dylan Thacker-Smith
3dd6433e2f
Merge pull request #584 from Shopify/replace-non-string
...
Convert arguments to replace filters to strings to avoid exceptions.
2015-06-02 16:41:15 -04:00
Dylan Thacker-Smith
ab7109a335
Raise a Liquid::ArgumentError in slice filter for invalid integers.
2015-06-02 16:05:08 -04:00
Dylan Thacker-Smith
94fe050952
Convert arguments to replace filters to strings to avoid exceptions.
2015-06-02 15:59:29 -04:00
Justin Li
9b98c436c4
Merge pull request #582 from Shopify/require-empty-raw-tag
...
Ensure raw tag has no arguments
2015-06-02 15:58:15 -04:00
Justin Li
889019f53a
Keep old test as well
2015-06-02 15:21:51 -04:00
Justin Li
c290375aec
Remove unnecessary regex options
2015-06-02 15:17:36 -04:00
Justin Li
719a98a25e
Ensure raw tag has no arguments
2015-06-02 14:32:39 -04:00
Justin Li
86d8b552da
Merge pull request #581 from Shopify/require-closed-raw-tag
...
Raise SyntaxError if raw tag is unclosed
2015-06-02 11:38:45 -04:00
Justin Li
b1ee9129e7
Raise SyntaxError if raw tag is unclosed
2015-06-02 10:56:51 -04:00
Justin Li
be2e41e4d5
Merge pull request #579 from Shopify/ast-match
...
Ensure For@reversed is a boolean
2015-05-28 16:45:09 -04:00
Justin Li
20ca2b9632
Update history to reflect merge of #570
...
[ci skip]
2015-05-28 16:43:22 -04:00
Justin Li
6c058823ad
Merge pull request #570 from Shopify/fix-strict-conditions
...
Fix condition parse order in strict mode
2015-05-28 16:33:54 -04:00
Dylan Thacker-Smith
27245c9eab
Merge pull request #577 from Shopify/table-row-blank-string-collection
...
Fix exception from using an empty string for the table row collection.
2015-05-28 16:20:42 -04:00
Justin Li
a639a13380
Use cleaner recursive solution
2015-05-28 16:16:30 -04:00
Justin Li
05a0fe56c8
Ensure For@reversed is a boolean
2015-05-28 16:09:26 -04:00
Dylan Thacker-Smith
c1eb694057
Remove the redundant iterable check in the for tag.
...
Just do it in slice_collection for consistency with the tablerow tag.
2015-05-28 16:04:50 -04:00
Dylan Thacker-Smith
f53b31c867
Merge pull request #578 from Shopify/filter-error-handling
...
Handle some more standard filter errors.
2015-05-28 15:00:57 -04:00
Dylan Thacker-Smith
363388e92f
Handle some more standard filter errors.
2015-05-28 14:18:53 -04:00
Dylan Thacker-Smith
873eddbb85
Split a line and use String#empty? for readability
2015-05-28 12:55:04 -04:00
Dylan Thacker-Smith
e790b60f60
Fix exception from using an empty string for the table row collection.
2015-05-28 12:11:39 -04:00
Dylan Thacker-Smith
3264d60425
Merge pull request #576 from Shopify/flexible-exception-handler
...
Allow the exception handler to convert exceptions to hide error messges
2015-05-28 11:38:44 -04:00
Dylan Thacker-Smith
8ff1b8e01f
Test set_line_number_from_token after exception is converted.
2015-05-28 09:22:02 -04: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
89c6e605f8
Merge pull request #575 from Shopify/zero-division-error
...
Raise Liquid::ZeroDivisionError instead of ZeroDivisionError.
2015-05-26 10:43:23 -04:00
Dylan Thacker-Smith
6265c36ec9
Raise Liquid::ZeroDivisionError instead of ZeroDivisionError.
2015-05-25 15:40:17 -04:00
Dylan Thacker-Smith
8af99ff918
Merge pull request #573 from Shopify/optional-error-rendering
...
Make liquid error rendering optional.
2015-05-25 12:11:10 -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
Justin Li
a9c7df931f
Strict parse conditions in reverse order
2015-05-19 11:51:01 -04:00
Justin Li
070639daba
Push to for_stack at the beginning of For#render
2015-05-15 23:13:15 -04:00
Justin Li
dad98cfc89
Merge pull request #562 from Shopify/use-find_variable-for-parentloop
...
Use custom stack for forloop references
2015-05-15 21:48:57 -04:00
Florian Weingarten
1d3c0b3dab
Merge pull request #568 from Shopify/remove_liquid_methods
...
Remove support for `liquid_methods` Module extension
2015-05-14 22:19:02 +02:00
Justin Li
648a4888af
Pop the for_stack register in an ensure
2015-05-14 15:02:20 -04:00
Justin Li
b4e5017c79
Add truth table test for multiple if conditions
2015-05-14 14:11:03 -04:00
Justin Li
f1bc9f27df
Include message in assert_template_result
2015-05-14 14:10:45 -04:00
Florian Weingarten
f4724f0db3
Remove support for liquid_methods Module extension
2015-05-14 14:44:19 +00:00
Florian Weingarten
df74955ac4
Merge pull request #564 from Shopify/rubocop
...
Rubocop
2015-05-14 16:41:32 +02:00
Florian Weingarten
3372ca8136
Rubocop
2015-05-14 14:37:18 +00:00
Jean Boussier
8cf524e91c
Merge pull request #565 from Shopify/file-dirname
...
Modernize code base with __dir__ and require_relative
2015-05-13 15:45:22 -04:00
Jean Boussier
5e38626309
Force circle in ruby 2.0
2015-05-13 15:40:34 -04:00
Jean Boussier
b31df0fb3d
Mordernize code base with __dir__ and require_relative
2015-05-13 15:33:00 -04:00
Florian Weingarten
9e815ec594
Merge pull request #563 from Shopify/webscale_exceptions
...
Prefer Class.new() where possible
2015-05-13 06:06:35 +02:00
Florian Weingarten
93b29b67ef
Prefer Class.new() where possible
2015-05-13 02:47:43 +00:00
Justin Li
863e8968f0
Use extra stack for forloop references
2015-05-12 17:04:34 -04:00
Justin Li
4c9d2009f9
Add find_own_variable method to look up internal context variables
2015-05-12 16:49:39 -04:00
Justin Li
239cfa5a44
Use find_variable for parentloop
2015-05-12 16:11:32 -04:00
Justin Li
8a8996387b
Update history to reflect merge of #554
...
[ci skip]
2015-05-12 13:20:06 -04:00
Justin Li
9310640bdd
Merge pull request #554 from arthanzel/529-sort_natural
...
Merge pull request 554
2015-05-12 13:19:24 -04:00
Justin Li
4c3381a523
Update history to reflect merge of #559
...
[ci skip]
2015-05-12 10:59:58 -04:00
Justin Li
261aa2e726
Merge pull request #559 from Shopify/fix-include-var
...
Merge pull request 559
2015-05-12 10:50:13 -04:00
Justin Li
247c51ac70
Call Context#find_variable directly
2015-05-11 18:22:15 -04:00
Justin Li
37dbec3610
Remove unnecessary parse
2015-05-11 18:10:38 -04:00
Justin Li
ff253a04c6
Lazily evaluate template name for context variable injection
2015-05-11 18:01:24 -04:00
Justin Li
25ef0df671
Add tests for #461
2015-05-11 17:59:05 -04:00
Martin Hanzel
32460c255b
Removed a few superfluous comments
2015-05-08 11:48:33 -04:00
Justin Li
724d625f47
Update history to reflect merge of #555 [ci skip]
2015-05-07 14:03:38 -04:00
Justin Li
f658dcee8b
Merge pull request #555 from boobooninja/date_filter
...
Merge pull request 555
2015-05-07 13:59:22 -04:00
Loren Hale
fa6cd6287e
date filter gracefully accepts empty string
2015-05-07 17:04:21 +08:00
Justin Li
76c24db039
Remove ruby-head from allowed failures
2015-05-05 12:49:04 -04:00
Martin Hanzel
068791d698
Added method parens
2015-05-05 11:49:14 -04:00
Martin Hanzel
3a082ddbbd
Changed sort_natural filter to use casecmp. Strings only.
2015-05-04 11:55:14 -04:00
Martin Hanzel
03b3446119
Resolves #529 . Resolves #404 . Added natural sorting filter and tests.
2015-05-03 20:55:28 -04:00
James Reid-Smith
251ce7483c
Merge pull request #441 from Shopify/remove_context_from_read_template_file
...
Removed context from read_template_file, fixed tests to match new arity
2015-04-27 12:13:36 -04: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
James Reid-Smith
448766b0c4
Removed context from read_template_file, fixed tests to match new arity
2015-04-27 15:27:03 +00:00
Justin Li
6390652c3f
Update changelog with backported patches
2015-04-24 16:09:37 -04:00
Justin Li
f266aee2e5
Slightly more concise issue# reference in changelog
2015-04-21 23:40:42 -04:00
Justin Li
df0649a031
Update changelog
2015-04-21 23:36:54 -04:00
Justin Li
78a5972487
Merge pull request #541 from Shopify/history-sync
...
Sync History.md for Liquid 4
2015-04-21 23:34:29 -04:00
Justin Li
298ae3357c
Merge pull request #551 from Shopify/expose-variable-name
...
Merge pull request 551
2015-04-21 23:33:13 -04: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
Justin Li
881f86d698
Merge pull request #550 from Shopify/minitest-fail-workaround
...
Disable minitest expectation interface due to reckless modification of Object
2015-04-20 10:22:19 -04:00
Justin Li
a1b209d212
Disable minitest expectation interface due to reckless modification of Object
2015-04-20 10:15:19 -04:00
Thierry Joyal
8e5926669b
Merge pull request #545 from Shopify/explode-invokable_methods-on-drop
...
Explode invokable_methods method on Liquid::Drop
2015-04-02 09:02:48 -07:00
Thierry Joyal
8736b602ea
Explode invokable_methods method on Liquid::Drop
2015-04-02 13:16:07 +00:00
Justin Li
b8365af07d
Add changes for 4.0.0
2015-03-25 14:53:43 -04:00
Justin Li
53842a471e
Create history section for 4.0.0
2015-03-25 14:40:19 -04:00
Justin Li
86a82d3039
Merge pull request #540 from Shopify/array-concat
...
Add array concat filter
2015-03-25 01:42:22 -04:00
Justin Li
2b78e74b4e
Add test for concat filter with non-array input
2015-03-25 01:34:47 -04:00
divecch
db396dd739
adding concat filter to append arrays
2015-03-25 01:31:22 -04:00
Justin Li
3213db54d6
Merge pull request #520 from Shopify/forloop-parentloop
...
Add forloop.parentloop as a reference to the parent loop
2015-03-25 01:22:35 -04:00
Justin Li
97a3f145a1
Merge pull request #499 from kreynolds/to_date_downcase_regression
...
Fix case sensitivity regression in date standard filter
2015-03-25 01:22:04 -04:00
Florian Weingarten
2fbe813770
Merge pull request #539 from Dorian/patch-1
...
Update module_ex.rb code documentation and code style
2015-03-24 15:21:22 +01:00
Dorian Marié
23a23c6419
Update module_ex.rb code documentation and code style
...
Didn't look good on rubydoc.info: http://i.imgur.com/469N92P.png
2015-03-24 14:09:08 +01:00
Dylan Thacker-Smith
63eb1aac69
Merge pull request #519 from Shopify/remove-filter-method-blacklist
...
Allow filters to redefine Object methods to make them invokable.
2015-02-04 18:07:51 -05:00
Justin Li
205bd19d3f
Add forloop.parentloop as a reference to the parent loop
2015-02-04 12:43:09 -05:00
Dylan Thacker-Smith
950f062041
Allow filters to redefine Object methods to make them invokable.
2015-02-03 13:51:33 -05:00
Tobias Lütke
3476a556dd
Merge pull request #512 from Shopify/fix_tobi_name
...
Fix Tobi last name on gemspec
2015-01-23 21:24:04 -05:00
Arthur Neves
d2ef9cef10
master is 4.0.0
2015-01-23 10:49:07 -05:00
Arthur Neves
0021c93fef
Add ruby 2.2 to travis
...
and allow failure on ruby head
2015-01-23 10:42:26 -05:00
Arthur Neves
dcf7064460
Fix Tobi last name on gemspec
2015-01-23 10:21:40 -05:00
Florian Weingarten
bebd3570ee
Merge pull request #506 from Shopify/fix_capture_with_hyphen
...
Use VariableSignature as Syntax for Capture tag to allow hyphens in variable names
2015-01-10 23:27:00 -05:00
Florian Weingarten
7cfee1616a
Use VariableSignature as Syntax for Capture tag to allow hyphens in variable names
2015-01-09 14:15:26 +00:00
Arthur Nogueira Neves
4b0a7c5d1d
Merge pull request #504 from alfredxing/duplicate-keys
...
Remove duplicate `index0` key in TableRow tag
2014-12-30 13:15:10 -05:00
Alfred Xing
5df1a262ad
Remove duplicate key in hash
2014-12-25 12:12:42 -08:00
Kelley Reynolds
84fddba2e1
Remove regex for downcase and is_a?(String)
2014-12-18 13:01:23 -05:00
Kelley Reynolds
8b0774b519
Fix case sensitivity regression in date standard filter
2014-12-16 10:37:05 -05: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
3080f95a4f
Make render_length tests stricter
2014-12-11 10:41:47 -05:00
Justin Li
cc57908c03
Add test for render_length persisting between block bodies
2014-12-11 10:38:47 -05:00
Justin Li
4df4f218cf
Use same template instance
2014-12-09 17:25:15 -05:00
Justin Li
c2f71ee86b
Reset resource consumption before each render
2014-12-09 17:23:07 -05:00
Justin Li
9f7e601110
Convert render output to strings in BlockBody
2014-12-05 15:17:09 -05:00
Justin Li
3755031c18
Merge pull request #485 from Shopify/lazy-load-profiler-hooks
...
Defer loading profiler hooks
2014-12-05 15:10:16 -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
742b3c69bb
Remove commented code
2014-12-04 16:30:37 -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
3ca40b5dea
Merge pull request #491 from Shopify/drop-ruby-1-9
...
Drop Ruby 1.9 from CI, add Ruby head
2014-12-03 12:52:10 -05:00
Justin Li
378775992f
Drop Ruby 1.9 from CI, add Ruby head
2014-12-02 14:33:51 -05:00
Florian Weingarten
319400ea23
Merge pull request #489 from alex-ross/patch-1
...
Fixes syntax error in documentation for unless tag
2014-11-19 14:02:58 +01:00
Alexander Ross
289a03f9d7
Fixes syntax error in documentation for unless tag
2014-11-19 10:49:58 +01:00
Justin Li
a0710f4c70
Merge pull request #486 from Shopify/fix-exponential-warnings
...
Fix #warnings taking exponential time to compute
2014-11-12 17:22:16 -05:00
Justin Li
737be1a0c1
Use Timeout#timeout for warnings tests
2014-11-12 17:03:48 -05:00
Justin Li
1673098126
Handle potential case where warnings returns nil
2014-11-12 16:46:10 -05:00
Justin Li
422bafd66a
Fix #warnings taking exponential time to compute
2014-11-12 16:12:00 -05:00
Justin Li
c0aab820ed
Lazily load profiler hooks
2014-11-12 00:05:01 -05:00
Florian Weingarten
3321cffe08
Merge pull request #482 from joshk/patch-1
...
Use the new beta build env on Travis
2014-11-07 03:06:52 +01:00
Josh Kalderimis
f2772518b0
Use the new beta build env on Travis
...
job start in seconds, instead of 20-120 seconds
2014-11-07 14:54:21 +13:00
Justin Li
76ef675eb2
Merge pull request #481 from Shopify/fix-nil-blank
...
Coerce regex @blank output to a boolean
2014-11-06 13:03:15 -05:00
Justin Li
e5fd4d929f
Coerce regex @blank output to a boolean
2014-11-05 20:44:06 -05:00
Justin Li
2e42c7be1f
Merge pull request #480 from Shopify/number_variables
...
Add quirks test for variables with number prefixes
2014-11-05 12:05:21 -05:00
Justin Li
95b031ee04
Add quirks test for extra dots in ranges
2014-11-05 11:41:12 -05:00
Justin Li
4d97a714a9
Add quirks test for variables with number prefixes
2014-11-05 10:56:58 -05:00
Justin Li
aa182f64b4
Merge pull request #479 from Shopify/tweaks-for-c
...
Tweaks for C
2014-11-04 14:02:14 -05:00
Justin Li
4e870302b1
Add env var for saving stackprof graphviz output
2014-11-04 18:38:14 +00:00
Justin Li
098c89b5f5
Convenience methods for raising terminator syntax errors
2014-11-04 18:38:08 +00:00
Justin Li
70c45f8cd8
Use SVG badge URLs
...
[ci skip]
2014-11-03 17:41:42 -05:00
Justin Li
12d526a05c
Merge pull request #458 from Shopify/block-body
...
Create a BlockBody class to decouple block body parsing from tags.
2014-11-03 17:34:39 -05:00
Dylan Thacker-Smith
2fd8ad08c0
Remove unused local variable that was accidentally added.
2014-11-03 17:07:42 -05:00
Dylan Thacker-Smith
15e1d46125
Avoid storing options instance variable in BlockBody.
...
There is no need to pass parse options to the BlockBody initializer, since
it does all the parsing in the parse method, unlike tags which parse the
tag markup in the initializer.
2014-11-03 17:07:42 -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
263e90e772
Merge pull request #478 from Shopify/numbers-in-identifiers
...
Use a single token for identifiers
2014-10-30 21:59:26 -04:00
Justin Li
81770f094d
Remove unnecessary +
2014-10-29 13:39:43 -04: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
Justin Li
4dc682313f
Merge pull request #476 from Shopify/missing-variable-name-error
...
Disallow filters with no variable in strict mode
2014-10-27 13:56:11 -04:00
Justin Li
5616ddf00e
Remove obsolete comment
2014-10-27 13:44:14 -04:00
Justin Li
fcb23a4cd2
Disallow filters with no variable in strict mode
2014-10-27 13:34:27 -04:00
Justin Li
a8f60ff6b1
Merge pull request #472 from Shopify/fix-leaky-test
...
Fix test leaking error_mode, fix equality check for VariableLookup
2014-10-23 10:12:41 -04:00
Justin Li
a206c8301d
Fix test leaking error_mode, fix equality check for VariableLookup
2014-10-22 15:40:41 -04:00
Justin Li
ee0de01480
Merge pull request #469 from Shopify/falsy-variable-fix
...
Fix case where a variable name is falsy
2014-10-21 15:06:34 -04:00
Justin Li
887b05e6ed
Clarify test name
2014-10-21 14:06:30 -04:00
Justin Li
5d68e8803f
Ensure nil works as a variable name
2014-10-21 14:03:10 -04:00
Justin Li
dedd1d3dc0
Fix case where a variable name is falsy
2014-10-21 12:09:26 -04:00
Dylan Thacker-Smith
d9ae36ec40
Merge pull request #466 from Shopify/remove-expression-cache
...
Remove expression cache
2014-10-20 13:57:17 -04:00
Dylan Thacker-Smith
b9ac3fef8f
Remove the quotes from the partial string in the profiler timing objects.
2014-10-18 16:26:18 -04:00
Dylan Thacker-Smith
f5faa4858c
Remove parsed expression cache.
2014-10-18 15:03:40 -04:00
Dylan Thacker-Smith
bc5e444d04
Use Expression.parse and Context#evaluate in the Include class.
2014-10-18 15:03:40 -04:00
Dylan Thacker-Smith
3a4b63f37e
Use Expression.parse and Context#evaluate in the TableRow class.
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
Dylan Thacker-Smith
d502b9282a
Use Expression.parse and Context#evaluate in the For class.
2014-10-18 15:03:36 -04:00
Dylan Thacker-Smith
fee8e41466
Use Expression.parse and Context#evaluate in the Cycle class.
2014-10-18 14:27:58 -04:00
Dylan Thacker-Smith
37260f17ff
Use Expression.parse and Context#evaluate in the Condition class.
2014-10-18 14:27:58 -04:00
Florian Weingarten
2da9d49478
Merge pull request #465 from Shopify/avoid_multi_assigns
...
Avoid parallel assignments
2014-10-18 16:19:02 +02:00
Florian Weingarten
7196a2d58e
Avoid parallel assignments
2014-10-18 13:58:32 +00:00
Justin Li
a056f6521c
Merge pull request #463 from Shopify/stricter-identifiers
...
Separate ? and - into special tokens
2014-10-17 13:45:48 -04:00
Justin Li
de16db9b72
Don't allow - to end a variable name
2014-10-17 13:38:07 -04:00
Justin Li
b4ea483c4e
Separate ? and - into special tokens
2014-10-17 13:30:54 -04:00
Justin Li
7843bcca8d
Merge pull request #443 from Shopify/completely-parse-variables
...
Parse expressions in Liquid::Variable#parse.
2014-10-17 13:12:46 -04:00
Florian Weingarten
76ea5596ff
Merge pull request #462 from Shopify/flat_map
...
nodelist flat_map over map.flatten
2014-10-17 18:32:00 +02:00
Florian Weingarten
f9318e8c93
flat_map
2014-10-17 16:11:12 +00:00
Florian Weingarten
71253ec6f9
Merge pull request #459 from Shopify/pop_vs_shift
...
Use pop over shift to avoid reverse
2014-10-15 21:42:53 +02:00
Florian Weingarten
0fa075b879
Use pop over shift to avoid reverse
2014-10-15 19:26:39 +00:00
Dylan Thacker-Smith
6d080afd22
Merge pull request #446 from Shopify/remove-end-tag
...
Remove unused Block#end_tag method.
2014-10-14 03:03:31 -04:00
Dylan Thacker-Smith
a67e2a0a00
Remove unused Block#end_tag method.
...
Although the method is called, it is defined with an empty body and not
overridden to do anything else.
2014-10-14 02:58:11 -04:00
Dylan Thacker-Smith
f387508666
Parse expressions in Liquid::Variable#parse.
2014-10-08 21:06:59 -04:00
Florian Weingarten
632b1fb702
Merge pull request #455 from Shopify/parse_error_line_numbers
...
Line numbers for all parse errors
2014-10-04 17:53:30 +02:00
Dylan Thacker-Smith
d84870d7a5
Test line number of errors in nested blocks.
2014-10-03 16:25:12 -05:00
Florian Weingarten
584b492e70
Line numbers for all parse errors
2014-10-03 21:00:31 +00:00
Dylan Thacker-Smith
b79c9cb9bf
Merge pull request #453 from Shopify/no-modify-default-resource-limit
...
Avoid modifying the default resources limits hash.
2014-10-01 19:02:09 -05:00
Dylan Thacker-Smith
cf5ccede50
Avoid modifying the default resources limits hash.
2014-10-01 18:51:06 -05:00
Evan Huus
23622a9739
Merge pull request #440 from Shopify/drop-tainting
...
Variable tainting
2014-09-22 13:43:35 -04:00
Florian Weingarten
7ba5a6ab75
Merge pull request #450 from Shopify/additional_test_for_includes
...
Regression test for including assignments
2014-09-18 21:05:37 +02:00
Florian Weingarten
be3d261e11
Regression test for including assignments
2014-09-18 10:37:44 +00:00
Evan Huus
eeb061ef44
Address code review comments
...
- clean up comment wording
- fix potentially leaky tests
2014-09-16 17:23:26 +00:00
Evan Huus
67b2c320a1
Add tainting tests
2014-09-16 17:23:26 +00:00
Evan Huus
1d151885be
Auto-untaint variables passed through 'escape'
2014-09-16 17:23:26 +00:00
Evan Huus
e836024dd9
Check and handle when a tainted variable is used
2014-09-16 17:23:26 +00:00
Dylan Thacker-Smith
638455ed92
Merge pull request #448 from Shopify/remove-unused-filter-not-found-error
...
Remove Liquid::FilterNotFoundError since it is never raised.
2014-09-15 17:43:33 -04:00
Dylan Thacker-Smith
b2a74883e9
Remove Liquid::FilterNotFoundError since it is never raised.
2014-09-15 17:42:07 -04:00
Dylan Thacker-Smith
6875e5e16f
Merge pull request #449 from Shopify/fix-flaky-total-render-time-test
...
Fix flaky test which assumes total_render_time can't be 0.
2014-09-15 17:41:41 -04:00
Dylan Thacker-Smith
a5717a3f8d
Fix flaky test which assumes total_render_time can't be 0.
...
jruby has millisecond precision for Time.now, so total_render_time can be 0
due to this lack of precision.
2014-09-15 17:26:55 -04:00
Dylan Thacker-Smith
804fcfebd1
Merge pull request #444 from Shopify/remove-block-children
...
Avoid keeping track of two lists of nodes during parsing.
2014-09-15 09:56:08 -04:00
Dylan Thacker-Smith
b37ee5684a
Merge pull request #445 from Shopify/prefer-super-over-render-all
...
Use super rather than render_all in single block render classes.
2014-09-15 09:53:54 -04:00
Dylan Thacker-Smith
0573b63b4c
Use super rather than render_all in single block render classes.
2014-09-12 16:58:07 -04:00
Dylan Thacker-Smith
29c21d7867
Avoid keeping track of two lists of nodes during parsing.
2014-09-12 16:43:00 -04:00
Dylan Thacker-Smith
478eb893a9
Merge pull request #439 from Shopify/default-resource-limits
...
Make it easy to set default resource limits.
2014-09-11 14:27:52 -04:00
Dylan Thacker-Smith
eae29f8c48
Make it easy to set default resource limits.
2014-09-11 13:54:30 -04:00
Florian Weingarten
4004cb63a5
Merge pull request #419 from Shopify/liquid_error_line_numbers
...
Optional line numbers for liquid errors
2014-09-08 23:15:53 +02:00
Jason Hiltz-Laforge
aafdf4adb0
Fix JRuby builds
2014-09-08 20:41:22 +00:00
Florian Weingarten
debac5dd0b
Revert "move line number check"
...
This reverts commit 939365c234 .
Conflicts:
lib/liquid/template.rb
2014-09-06 10:21:17 -04:00
Florian Weingarten
ce06ed4bb1
merge conflicts
2014-09-05 14:16:20 +00:00
Florian Weingarten
939365c234
move line number check
2014-09-05 14:12:30 +00:00
Florian Weingarten
c60fd0715d
remove unnecessary nil
2014-09-05 14:12:30 +00:00
Florian Weingarten
c83e1c7b6d
prefix for Liquid::Error instances
2014-09-05 14:12:30 +00:00
Florian Weingarten
aabbd8f1a1
remove unnecessary method
2014-09-05 14:12:30 +00:00
Florian Weingarten
60d8a213a5
Clean up Liquid::Error#render
2014-09-05 14:12:30 +00:00
Florian Weingarten
17cc8fdbb3
put line number in parentheses
2014-09-05 14:12:30 +00:00
Tristan Hume
27c1019385
Add line numbers to warnings
2014-09-05 14:12:30 +00:00
Tristan Hume
3a0ee6ae91
Remove parser switching duplication
2014-09-05 14:12:29 +00:00
Florian Weingarten
5eff375094
Optional line numbers for liquid errors
2014-09-05 14:12:29 +00:00
Tristan Hume
2df643ba18
Merge pull request #425 from Shopify/pass-options-include
...
Pass options through on include
2014-08-26 13:40:06 -04:00
Tristan Hume
68af2d6e2a
Pass options to include tags
2014-08-26 10:50:25 -04:00
Arthur Nogueira Neves
dfb6c20493
Merge pull request #423 from bogdan/contains-with-integer
...
Fixed condition constains operator with wrong data type
2014-08-18 14:58:08 -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
Florian Weingarten
c0ec0652ae
Merge pull request #421 from djreimer/url-encode-filter
...
Add url_encode standard filter
2014-08-15 20:05:39 +02:00
Derrick Reimer
f8c3cea09b
Add url_encode filter to history
2014-08-15 11:03:06 -07:00
Derrick Reimer
0b847e553c
Add url_encode standard filter
2014-08-15 08:45:40 -07:00
Florian Weingarten
c2663258be
Merge pull request #364 from collectiveidea/instrument-rendering-with-hooks
...
Profiling the rendering of a liquid template
2014-08-13 23:04:29 +02:00
Tristan Hume
d4654d0062
Merge pull request #417 from Shopify/simplify-regex
...
Simplify Variable Parsing Regexes
2014-08-13 12:07:35 -04:00
Tristan Hume
ffd4f9d959
Simplify secondary filter regex
2014-08-13 09:36:02 -04:00
Tristan Hume
292161865d
Simplify filter parse regex
2014-08-13 09:28:01 -04:00
Florian Weingarten
35808390ee
Merge pull request #414 from Shopify/to_liquid_context
...
Call to_liquid in Context invoke
2014-08-12 22:05:52 +02:00
Florian Weingarten
1678c07548
Call to_liquid in Context invoke
2014-08-12 19:54:12 +00: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
Tristan Hume
f31e309770
Merge pull request #416 from Shopify/filter-quirks
...
Make Filter Quirks Tests Actual Integration Tests
2014-08-12 10:08:05 -04:00
Tristan Hume
ffe1036e15
Make tests actual integration tests
2014-08-12 09:27:46 -04:00
Dylan Thacker-Smith
d3b113d2e1
Merge pull request #391 from Shopify/extract-context-parse
...
Separate expression parsing and rendering from Context#[]
2014-08-11 14:17:54 -07:00
Dylan Thacker-Smith
2aa9bbbac2
Separate expression parsing and rendering from Context#resolve.
2014-08-11 14:15:58 -07:00
Tristan Hume
d5e57a8ea4
Merge pull request #412 from Shopify/assign-strict
...
Pass through options on assign tag
2014-08-11 15:37:49 -04:00
Florian Weingarten
5c0e0be639
Merge pull request #402 from Shopify/benchmark-ips
...
benchmark/ips
2014-08-11 21:22:43 +02:00
Florian Weingarten
a74d40f1e5
benchmark/ips
2014-08-11 19:22:06 +00:00
Tristan Hume
79d4ec1a48
Merge pull request #413 from Shopify/filter-quirks
...
Add quirks test for unanchored filter args
2014-08-11 13:06:51 -04:00
Tristan Hume
4db22be8ba
Add tests for assign tag fix
2014-08-11 13:06:01 -04:00
Tristan Hume
dc58a4d648
Add quirks test for unanchored filter args
2014-08-11 11:58:36 -04:00
Tristan Hume
2809ec780a
Pass through options on assign tag
2014-08-11 10:38:36 -04:00
Jean Boussier
2d98392bf5
Merge pull request #411 from Shopify/to-s-before-split
...
Cast input to string before spliting
2014-08-08 00:13:35 -04:00
Jean Boussier
df6b442816
Cast input to string before spliting
2014-08-07 14:01:44 -04:00
Florian Weingarten
4b22fc8d1b
Merge pull request #407 from Shopify/slice_arrays
...
Slice filter for arrays
2014-08-05 20:00:45 +02:00
Florian Weingarten
fb6f9c1c13
Slice filter for arrays.
2014-08-05 17:59:31 +00:00
Florian Weingarten
66ae7f3ec0
Merge pull request #406 from Shopify/slice_filter
...
slice filter
2014-08-05 17:14:01 +02:00
Florian Weingarten
0bea31d2ef
Use Integer() instead of to_i
2014-08-05 15:13:15 +00:00
Florian Weingarten
e5b0487fef
Merge pull request #312 from Shopify/uniq_filter
...
uniq filter
2014-08-05 16:22:48 +02:00
Florian Weingarten
9117722740
Use symbols in respond_to?
2014-08-05 14:22:11 +00:00
Florian Weingarten
baea0a6bf7
slice filter
2014-08-04 16:47:08 +00:00
Tom Burns
17347d43de
Merge pull request #400 from Shopify/lazy_stack
...
lazily create stacks
2014-07-30 11:43:31 -04:00
Tom Burns
794ca9f604
make the conditions around stack creation easier to read
2014-07-30 15:42:24 +00:00
Tom Burns
15f6cabf83
avoid a hash comparison
2014-07-30 15:12:22 +00:00
Tom Burns
e53d102a2c
use 'unless' instead of 'if !' for simple conditional
2014-07-30 14:59:56 +00:00
Florian Weingarten
33e7b8e373
uniq filter
2014-07-29 13:09:34 +00:00
Florian Weingarten
9b8e3d437e
Merge pull request #401 from Shopify/ktdreyer-minitest
...
Minitest 5 (continuation of #358 )
2014-07-29 15:05:23 +02:00
Florian Weingarten
a2f0f2547d
with_global_filter test helper
2014-07-28 19:28:22 +00:00
Ken Dreyer
57d5426eed
tests: reset Strainer's filters after modification
...
Three tests in the test suite use the Liquid::Template.register_filter
function to register custom filters with Liquid::Strainer. The problem
is that these register_filter calls leave the Liquid::Strainer object in
an altered state.
As an example, the FiltersTest's test_local_filter relies on the default
behavior of Liquid::Strainer operator, and the test was failing if
register_function had been called earlier. The same thing was happening
with FiltersInTemplate's test_local_global.
The problem was present when the Filters test classes were loaded inside
a single ruby process that also loaded HashOrderingTest. One example is
"rake test", which runs "require" on every test file. Another basic
example is the following command:
ruby -Itest -e "require 'integration/hash_ordering_test';
require 'integration/filter_test'"
Update the tests to always reset Liquid::Strainer's filters back to the
default list of filters.
With this change, FiltersTest and FiltersInTemplate now pass.
2014-07-28 16:36:43 +00:00
Ken Dreyer
3e3a415457
tests: fix whitespace in hash_ordering_test
...
Indent two spaces, not one.
2014-07-28 16:36:43 +00:00
Ken Dreyer
deba039d6d
tests: reset "contains" op during IfElseTagTest
...
Two tests in IfElseTagTest each set a custom operator function for the
"contains" comparison operator.
The problem is that IfElseTagTest was clobbering the original operator
in Liquid and leaving it in an altered state.
As an example, ConditionUnitTest's test_contains_works_on_arrays relies
on the specific behavior of the "contains" operator, and its
test_contains_works_on_arrays was failing.
The problem was present when both test classes were require'd inside a
single ruby process. One example is "rake test", which runs "require" on
every test file. Another basic example is the following command:
ruby -Itest -e "require 'integration/tags/if_else_tag_test.rb';
require 'unit/condition_unit_test.rb'"
This would cause test_contains_works_on_arrays to fail.
Update IfElseTagTest to avoid clobbering the "contains" operator.
With this change, ConditionUnitTest's test_contains_works_on_arrays now
passes.
2014-07-28 16:36:43 +00: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
Tom Burns
f5e67a12f9
remove added newline in liquid.rb
2014-07-28 14:24:29 +00:00
Tom Burns
6b56bdd74f
remove variables used for counting empty stacks
2014-07-28 14:23:16 +00:00
Tom Burns
ba6e3e3da6
lazily create stacks
2014-07-28 14:12:11 +00:00
Jason Hiltz-Laforge
a8e63ff03d
Merge pull request #398 from Shopify/fix_order_of_constructor_initialize
...
Reorder constructor to avoid referencing uninitialized variable when environment contains a self-referencing proc
2014-07-24 15:04:36 -04: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 Neves
d07b12dc7d
Update History log
...
Bring latest History from 2-6-stable and 2-5-stable
2014-07-24 11:01:19 -04:00
Arthur Nogueira Neves
32e4f2d3b1
Merge pull request #240 from Shopify/remove_flatten
...
remove .flatten on standard filters
2014-07-24 10:54:28 -04:00
Arthur Nogueira Neves
2cb1483d54
Merge pull request #397 from Shopify/bogdan-excetion-handling-for-humans
...
Excetion handling for humans (2)
2014-07-24 10:51:02 -04:00
Florian Weingarten
6c6350f18b
Exception handling for humans
...
Ability to pass exception_handler as a block to #render
and provide whatever behavior you want on handling exceptions
https://github.com/Shopify/liquid/pull/254
2014-07-24 14:44:02 +00:00
Florian Weingarten
eae24373e6
remove unnecessary flatten filter
2014-07-24 02:56:57 +00:00
Jason Hiltz-Laforge
034a47a6cf
Merge pull request #395 from Shopify/fix_block_delimiter
...
Forgot an error message case
2014-07-23 22:35:13 -04:00
Jason Hiltz-Laforge
51c1165f26
Forgot an error message case
2014-07-24 02:27:26 +00:00
Florian Weingarten
0b45ffeada
add more legacy tests
2014-07-24 00:33:39 +00:00
Arthur Neves
b7b243a13d
Fix regression on map
2014-07-23 17:16:21 -04:00
Arthur Neves
18e8ce1eb0
add flatten filter
2014-07-23 17:16:20 -04:00
Florian Weingarten
994f309465
Fix broken standardfilter test
2014-07-23 17:15:39 -04:00
Arthur Neves
02d42a1475
Array is a Enumerable
2014-07-23 17:14:27 -04:00
Arthur Neves
d099878385
add a input iterator to standard filter
2014-07-23 17:14:27 -04:00
Arthur Neves
6a061cbe81
remove .flatten on standard filters
2014-07-23 17:14:26 -04: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
d6fdf86acd
Merge pull request #393 from Shopify/fix_block_delimiter
...
Fixing regression from block delimiter enhancement
2014-07-23 16:24:24 -04:00
Jason Hiltz-Laforge
55597b8398
Fixing regression from block delimiter enhancement
2014-07-23 19:18:02 +00:00
Florian Weingarten
c75522026b
Merge pull request #389 from Shopify/remove_unnecessary_blank_stuf
...
Remove unnecessary blank? code
2014-07-23 15:07:26 +02:00
Florian Weingarten
1e0e9f1f31
Remove unnecessary blank? code
2014-07-22 21:19:12 +00:00
Jason Hiltz-Laforge
5fc1929b73
Merge pull request #384 from Shopify/optimize_block_parsing
...
Optimize block parsing -- don't recreate delimiter, use strings instead of regex
2014-07-22 12:59:05 -04:00
Jason Hiltz-Laforge
746a800475
Merge pull request #386 from Shopify/optimize_variable_parsing
...
Reduce temporary objects during variable/filter parsing
2014-07-22 11:22:57 -04:00
Jason Hiltz-Laforge
85dc7ef610
Merge pull request #385 from Shopify/optimize_scope_variable_resolution
...
Remove block in favour of for loop to reduce temporary object allocation during variable context resolution
2014-07-22 11:22:33 -04:00
Jason Hiltz-Laforge
bc3b066ba8
Remove block in favour of for loop to reduce temporary object allocation during variable context resolution
2014-07-22 14:54:50 +00:00
Jason Hiltz-Laforge
3c2de7737d
Optimize block parsing -- don't recreate delimiter, use strings instead of regex
2014-07-22 02:43:20 +00:00
Jason Hiltz-Laforge
adb7d2bbb8
Reduce temporary objects during variable/filter parsing
2014-07-21 21:13:59 +00:00
Jason Hiltz-Laforge
0e56cf99ab
Merge pull request #383 from Shopify/optimize_variable_lookup
...
Cache parsed markup parts to avoid repeated calls during template render
2014-07-21 12:29:58 -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
44b9ad604f
Merge pull request #381 from Shopify/add_object_profiling
...
Add object profiling in addition to cpu profiling
2014-07-16 16:41:31 -04:00
Jason Hiltz-Laforge
535d549978
Merge pull request #380 from Shopify/optimize_interrupt_handling
...
Optimize checking for interrupts by replacing any? with NOT empty?
2014-07-16 11:36:32 -04:00
Jason Hiltz-Laforge
32349033a9
Add object profiling in addition to cpu profiling
2014-07-16 15:32:04 +00:00
Jason Hiltz-Laforge
fd8c30070a
Adding tests, spy dependency
2014-07-16 15:05:45 +00:00
Jason Hiltz-Laforge
4cfc05e32a
Optimize checking for interrupts by replacing any? with NOT empty?
2014-07-15 18:31:40 +00:00
Florian Weingarten
c4bc6cf3db
Merge pull request #378 from Shopify/revert_352
...
Revert: Add error messages for missing variables when :strict
2014-07-08 17:31:19 +02: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
Florian Weingarten
8909c9f27a
add regression tests for #377
2014-07-08 14:47:39 +00:00
David Cornu
51c708c8f8
Merge pull request #376 from Shopify/tag-class-reloading
...
Avoid holding on to stale tag classes
2014-07-03 12:01:50 -04: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
Jean Boussier
d007c50856
Merge pull request #374 from Shopify/remove-duplicate-ruby-version
...
Give some ❤️ to travis.yml
2014-07-02 11:04:38 -04:00
Tobias Lütke
101f125a69
Merge pull request #375 from Shopify/relative-link
...
Fixed relative link
2014-06-30 17:19:37 -04:00
Tony Zou
5110ca906c
Fixed relative link
2014-06-30 16:43:37 -04:00
Jean Boussier
ac0f63eda9
rbx-19mode is not supported anymore
2014-06-28 16:21:08 -04:00
Jean Boussier
1372274fca
Do not intall stackprof under jruby nor rubinius
2014-06-28 16:09:14 -04:00
Jean Boussier
69951be173
Canonicalize travis ruby versions
2014-06-28 16:02:37 -04:00
Arthur Nogueira Neves
c9863836cd
Merge pull request #371 from Shopify/unfreeze-version-string
...
Unfreeze version string
2014-06-24 09:59:46 -05:00
Jean Boussier
14b8d824d7
Unfreeze version string
...
It breaks gem installation on ruby 1.9.x (older rubygem?)
2014-06-23 10:47:10 -04:00
Florian Weingarten
114a37d9ba
add additional tests for https://github.com/jekyll/jekyll/pull/2505
2014-06-23 09:28:24 -04:00
Arthur Nogueira Neves
30bd9ad957
Merge pull request #368 from Shopify/add-round-ceil-and-floor
...
[Liquid] Add round, ceil and floor standard filters
2014-06-16 10:32:17 -05:00
Christian Blais
2239921804
[Liquid] Add round, ceil and floor standard filters
2014-06-16 11:15:53 -04:00
Florian Weingarten
1ea178e7a8
Merge pull request #363 from rrrene/patch-2
...
Update docs badge in README
2014-06-05 10:32:47 -04:00
René Föhring
5650c7eea1
Update docs badge in README
...
Update the URL of the docs badge to include it from inch-ci.org instead of inch-pages.github.io (the former being the successor of the Inch Pages project).
[ci skip]
2014-06-05 12:25:26 +02:00
Arthur Neves
553b0926ae
Merge pull request #352 from gaiottino/master
...
Add error messages for missing variables when :strict
Conflicts:
History.md
2014-05-06 10:16:45 -04:00
Daniel Gaiottino
2bac6267f9
Add error messages for missing variables when :strict
2014-05-06 16:12:46 +02:00
Florian Weingarten
628ab3dc6a
add test for numerical sort
2014-05-04 19:50:38 -04:00
Florian Weingarten
2eb552c65d
Merge pull request #354 from Dillon-Benson/patch-3
...
use attr_writer instead of error_mode= method
2014-05-02 18:15:33 -04:00
Dillon Benson
6e40746ce4
use attr_writer instead of error_mode= method
2014-05-02 17:18:56 -04:00
Thierry Joyal
75068e8fa4
Merge pull request #349 from Shopify/render_bang_allow_not_safe_contexts
...
render! will properly force rethrow of errors if context is passed as an argument
2014-05-01 12:52:06 -04:00
Thierry Joyal
ad1152853a
render! will properly force rethrow of errors if context is passed as an argument
2014-05-01 16:44:00 +00:00
David Cornu
73098ac5bc
Merge pull request #351 from Shopify/date-cleanup
...
Move date coercion to #to_date
2014-04-30 20:47:39 -04:00
David Cornu
8bc3792c0e
Move date coercion to #to_date
2014-04-30 22:32:36 +00:00
Florian Weingarten
3ef29c624c
Merge pull request #347 from Dillon-Benson/patch-1
...
remove template return
2014-04-30 08:23:36 -04:00
Dillon Benson
a85fb38769
remove template return
2014-04-30 03:00:16 -04:00
Florian Weingarten
6a1c3cff1a
update history.md
2014-04-29 15:26:22 -04:00
Florian Weingarten
bde32018dd
Merge pull request #346 from Shopify/false_rendering
...
Fix broken rendering of variables which are equal to false (closes #345 )
2014-04-29 15:21:30 -04:00
Florian Weingarten
2a12f253bf
Fix broken rendering of variables which are equal to false ( closes #345 )
2014-04-29 14:33:30 -04: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
Arthur Nogueira Neves
f15d24509d
Merge pull request #338 from here/docs-filter-date-strftime
...
Update standardfilters.rb add docs to date filter
2014-04-12 20:14:44 -04:00
mikey dubs
09e4378cfb
Update standardfilters.rb add docs to date filter
...
Added '%s' - Number of seconds since 1970-01-01 00:00:00 UTC to included list of flags
Added link to Ruby docs on Time#strftime() to allow easier discovery of unlisted filter options.
2014-04-12 15:21:06 -07:00
Dylan Thacker-Smith
af0e26fb16
Merge pull request #337 from Shopify/remove-rails-dev-dependancy
...
Remove active_support from the development dependancies.
2014-04-11 15:08:34 -04:00
Dylan Thacker-Smith
f5502e8152
Remove active_support from the development dependancies.
2014-04-11 14:26:40 -04:00
Arthur Nogueira Neves
c098235baa
Merge pull request #335 from rrrene/patch-1
...
Add docs badge to README
2014-04-05 11:46:32 -04:00
René Föhring
0e2bf768ba
Add docs badge to README
2014-04-05 12:24:56 +02:00
Dylan Thacker-Smith
4c477c2087
Merge pull request #333 from Shopify/remove-liquid-view
...
Remove ActionView template handler
2014-03-31 10:16:37 -04:00
Dylan Thacker-Smith
cd7fc050b1
Remove ActionView template handler
...
Fixes #21
2014-03-29 15:59:42 -04:00
Dylan Thacker-Smith
8291c5e72c
Merge pull request #329 from Shopify/seperate-integration-tests
...
Separate unit and integration tests.
2014-03-26 16:04:39 -04: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
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
Florian Weingarten
44f29a87a8
Update history
2014-03-24 12:35:47 -04:00
Dylan Thacker-Smith
f0afbc27e0
Add regression test for raw tags with open variable tags.
2014-03-24 10:01:03 -04:00
Dylan Thacker-Smith
fdf03076e0
Revert "Merge pull request #325 from Shopify/remove-variable-incomplete-end"
...
That pull request broke raw tags with open variable tags. E.g.
{% raw %}
{{
{% endraw %}
{{ 1 }}
This reverts commit fbaabf3b59 , reversing
changes made to af24d2c2ab .
2014-03-24 09:59:07 -04:00
Dylan Thacker-Smith
d1bfda15e3
Add profile:strict rake task.
2014-03-21 21:54:53 -04:00
Dylan Thacker-Smith
d8d9984a7b
Remove some unused regexes.
2014-03-21 15:50:14 -04:00
Dylan Thacker-Smith
fbaabf3b59
Merge pull request #325 from Shopify/remove-variable-incomplete-end
...
Allow quoted single curly braces in variables.
2014-03-21 13:48:47 -04:00
Dylan Thacker-Smith
7e0ef867d2
Make tag/variable termination error clearer.
2014-03-21 02:04:01 -04:00
Dylan Thacker-Smith
3682414cc4
Allow quoted single curly braces in variables.
2014-03-21 02:04:01 -04:00
Dylan Thacker-Smith
af24d2c2ab
Add missing PR reference and author to a History.md entry.
2014-03-21 02:03:31 -04:00
Dylan Thacker-Smith
4ee43bc5d2
Merge pull request #324 from Shopify/multiline-tags-and-vars
...
Allow newlines in tags and variables.
2014-03-21 00:26:14 -04:00
Dylan Thacker-Smith
1320a69fca
Merge pull request #323 from Shopify/render_bang_in_tests
...
Use render! in tests to make debugging test failures easier.
2014-03-20 18:33:40 -04:00
Dylan Thacker-Smith
3b14e27f55
Allow newlines in tags and variables.
2014-03-20 17:27:03 -04:00
Dylan Thacker-Smith
face33a137
Merge pull request #321 from Shopify/move-tag-parse-out-of-initialize
...
Refactor to create tags with a parse class method instead of new.
2014-03-20 16:15:58 -04:00
Dylan Thacker-Smith
d4ecaff8b8
Refactor to create tags with a parse class method instead of new.
...
By moving parse out of the initializer, we can call super at the start of
the initializers for subclasses, and avoid the nasty allocate hack.
2014-03-20 16:10:10 -04:00
Dylan Thacker-Smith
a5990042ff
Use render! in tests to make debugging test failures easier.
2014-03-20 12:04:17 -04:00
Florian Weingarten
e190bbba9e
move change to top
2014-03-19 18:15:31 -04:00
Dylan Thacker-Smith
4b5e41d04e
Merge pull request #322 from Shopify/use-render-bang-in-benchmarks
...
Use render! in benchmarks to avoid making it faster by breaking things.
2014-03-19 18:06:15 -04:00
Dylan Thacker-Smith
4b69f6ae83
Use render! in benchmarks to avoid making it faster by breaking things.
2014-03-19 18:01:33 -04:00
Dylan Thacker-Smith
b9feb415f6
Merge pull request #320 from Shopify/move-table-row-tag
...
Move definition for TableRow to the tags folder.
2014-03-18 17:16:32 -04:00
Dylan Thacker-Smith
92781ec43b
Move definition for TableRow to the tags folder.
2014-03-18 17:13:39 -04:00
Dylan Thacker-Smith
ff5c1f83f7
Merge pull request #318 from Shopify/stackprof
...
Use stackprof for profiling.
2014-03-14 10:27:46 -04:00
Dylan Thacker-Smith
e2b337af2f
Merge pull request #317 from Shopify/string-anchors
...
Use start and end of string rather than line matching in regexes.
2014-03-14 10:17:33 -04:00
Dylan Thacker-Smith
f373b1003d
Use stackprof for profiling.
2014-03-14 10:03:50 -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
3efa8e8762
Merge pull request #310 from Shopify/faster-increment-used-resources
...
Speed up Context#increment_used_resources
2014-02-25 00:18:27 -05:00
Dylan Thacker-Smith
3c06d837b5
Speed up Context#increment_used_resources
2014-02-24 23:56:39 -05:00
Arthur Nogueira Neves
d3fc30ef85
Merge pull request #309 from bogdan/argument_error_for_filters
...
Raise liquid argument error instead of ruby argument
2014-02-21 15:13:11 -05:00
Bogdan Gusiev
f23e69d565
Raise liquid argument error instead of ruby argument
...
Wrong number of arguments for filter invocation now raises
Liuqid::ArgumentError but not ::ArgumentError
2014-02-21 22:12:11 +02:00
Adam Doeler
fa179e811d
Merge pull request #306 from Shopify/default_to_s_for_drops
...
Liquid::Drop should not return a string representation of standard ruby objects
2014-02-13 13:45:01 -05:00
Adam Doeler
18907fc570
Updates History.md
2014-02-10 10:24:37 -05:00
Adam Doeler
5f8a028a56
Liquid::Drop should not return a string representation of standard ruby objects
2014-02-07 14:48:02 -05:00
Florian Weingarten
0a7de51e2b
Revert some freezes on non-literals
2014-01-27 14:56:07 -05:00
Florian Weingarten
765751b9cb
Merge pull request #303 from Shopify/strip_filter
...
Add strip, lstrip, rstrip filters
2014-01-24 08:09:19 -08:00
Florian Weingarten
d2827bfa76
Add strip, lstrip, rstrip filters
2014-01-24 11:04:43 -05:00
Florian Weingarten
70d92b84ab
Rename test
2014-01-24 10:55:45 -05:00
Florian Weingarten
808fa244ca
Merge pull request #250 from wildfireapp/correct-if-nodelists
...
Correct if-statement nodelist.
2014-01-13 12:47:51 -08:00
Nicholas Jones
5570f697fd
Update history
2014-01-13 12:46:43 -08:00
Nicholas Jones
8f9f12e542
Merge remote-tracking branch 'upstream/master' into correct-if-nodelists
...
Conflicts:
test/liquid/tags/for_tag_test.rb
test/liquid/tags/if_else_tag_test.rb
2014-01-13 12:43:43 -08:00
Florian Weingarten
17dae40707
Fix History.md ordering
2014-01-13 15:38:18 -05:00
Nicholas Jones
06e2f2577f
Add else blocks to for and case nodelists
2014-01-13 11:53:25 -08:00
Florian Weingarten
ee7edacacc
Merge pull request #298 from Shopify/respond_to_resource_counting_bug
...
Fix resource counting bug with respond_to?(:length)
2014-01-08 10:37:48 -08:00
Florian Weingarten
62a86a25ae
update history
2014-01-08 13:37:24 -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
Arthur Nogueira Neves
0388376925
Merge pull request #296 from Shopify/ruby2.1.0
...
Ruby2.1.0
2014-01-07 08:55:03 -08:00
Arthur Neves
57c8583dc3
Add 2.1.0 to travis
2014-01-07 11:37:24 -05:00
Arthur Neves
a13f237d3c
Remove some 192 tests
2014-01-07 11:37:01 -05:00
Arthur Nogueira Neves
9ed2fa425b
Merge pull request #295 from Shopify/remove_ruby_debug
...
remove ruby-debug
2014-01-07 08:34:19 -08:00
Arthur Neves
208c6c8800
remove ruby-debug
2014-01-07 11:31:46 -05:00
Florian Weingarten
9ec2b9da2d
Rename tests because of name clashes (same method name used twice)
2014-01-07 11:20:32 -05:00
Florian Weingarten
be7bef4d0b
Merge pull request #284 from agladkyi/custom-patterns-for-template-filenames
...
Custom patterns for template filenames
2013-12-16 11:28:19 -08:00
Andrei Gladkyi
0ae42bbc32
Added separate test for custom patterns specifying
...
+ updated History.md
2013-12-16 17:48:43 +02:00
Gaurav Chande
0ec69890ab
Merge pull request #287 from Shopify/fix-escape-once
...
Fix escape_once filter
2013-12-02 08:57:24 -08:00
Gaurav Chande
5e8f2f8bd0
Fix escape_once filter
2013-12-01 20:37:47 -05:00
Andrei Gladkyi
0edb252489
Option to specify custom pattern for template filenames
2013-11-30 17:55:53 +02:00
Florian Weingarten
5ce36f79e9
Add Tom's slice loading change to History.md
2013-11-25 11:12:33 -05:00
Florian Weingarten
2d1f15281b
Merge pull request #282 from Shopify/load_slice
...
allow drops to optimize loading a slice of elements
2013-11-25 08:12:06 -08:00
Florian Weingarten
4647e6d86b
Remove unnecessary comment, add joost's change to History.md
2013-11-25 10:52:46 -05:00
Florian Weingarten
f5620d4670
Merge branch 'master' of github.com:joost/liquid into joost-master
2013-11-25 10:51:48 -05:00
Florian Weingarten
f1a5f6899b
Add raggi's change to History, remove Ruby 1.8 code from test
2013-11-25 10:48:03 -05:00
Florian Weingarten
de497eaed2
Merge branch 'class_cache' of github.com:wildfireapp/liquid into wildfireapp-class_cache
2013-11-25 10:46:18 -05:00
Tom Burns
30e5f06313
don't make original slice_collection_using_each private
2013-11-25 10:37:10 -05:00
Arthur Neves
d465d5e20c
Add ruby 2.1 on travis
2013-11-25 10:35:24 -05:00
Arthur Neves
7989e834f3
Allow rbx failure and not 2.0.0
2013-11-25 10:33:41 -05:00
Arthur Neves
c264459931
Update history log
...
Conflicts:
History.md
2013-11-25 10:28:12 -05:00
Tom Burns
e667352629
move slice_collection optimization to utils
2013-11-24 14:00:23 -05:00
Tom Burns
2c26a880f0
add another test showing equivalent functionality
2013-11-24 12:32:32 -05:00
Tom Burns
cf49b06ccc
allow drops to optimize loading a slice of elements
2013-11-24 12:29:15 -05:00
Florian Weingarten
f015d804ea
Update history
2013-11-11 09:03:39 -05:00
Arthur Nogueira Neves
78c42bce44
Update README.md
...
Show travis badge from master only.
2013-11-04 18:37:53 -05:00
Florian Weingarten
445f19d454
Merge pull request #276 from Shopify/remove_some_1.8_code
...
Remove some legacy Ruby 1.8 compatibility code
2013-11-01 05:50:29 -07:00
Florian Weingarten
a599a26f1a
Remove some legacy Ruby 1.8 compatibility code
2013-10-31 15:35:12 -04:00
Dylan Thacker-Smith
4e14a651a7
Merge pull request #274 from Shopify/restrict-send-on-conditions
...
security: Prevent arbitrary method invocation on conditions in if tag.
2013-10-28 10:01:47 -07:00
Dylan Thacker-Smith
cc982e92d0
security: Prevent arbitrary method invocation on conditions in if tag.
2013-10-28 12:20:27 -04:00
Bouke van der Bijl
71a386f723
Merge pull request #273 from Shopify/make-if-less-dangerous
...
Make if less dangerous
2013-10-28 06:39:05 -07:00
Bouke van der Bijl
2f50a0c422
Add history message
2013-10-28 14:10:13 +01:00
Bouke van der Bijl
a5cd661dd9
Use public_send on condition creation
...
This makes sure you can't call Kernel methods like `throw`
2013-10-28 13:57:28 +01:00
Bouke van der Bijl
511ee7fbe1
Remove to_sym from condition creation
...
This prevents a DoS http://www.tricksonrails.com/2010/06/avoid-memory-leaks-in-ruby-rails-code-and-protect-against-denial-of-service/
2013-10-28 13:57:28 +01:00
Joost Hietbrink
5eddfe87d0
Support for passing variables to snippets in subdirs
...
Now you can use "include 'some/snippet' with variable".
2013-10-16 11:55:12 +02:00
Florian Weingarten
9b910a4e6d
Update README.md
...
Remove old wiki link
2013-10-15 13:14:39 -04:00
Arthur Neves
7e1a0be752
Put travis badge on top
2013-10-11 12:08:19 -04:00
Arthur Neves
c9ea578b64
Drop 1.8 support on travis CI and add 2.0.0
2013-10-11 12:03:01 -04:00
Florian Weingarten
549777ae53
Merge pull request #267 from djreimer/default-filter
...
Add default filter to standard filters
2013-10-11 07:59:21 -07:00
Derrick Reimer
6710ef60bc
Add default filter to history
2013-10-10 09:17:49 -07:00
Arthur Nogueira Neves
5fdab083b0
Merge pull request #268 from Shopify/better_rake
...
Improve Rakefile
2013-10-10 07:55:08 -07:00
Arthur Neves
0644da02bb
Improve Rakefile
2013-10-10 10:44:16 -04:00
Derrick Reimer
5db1695694
Add default filter to standard filters
2013-10-09 16:07:32 -07:00
Florian Weingarten
a25ed17e2b
Merge pull request #266 from Shopify/fix_map_on_hashes
...
Fix map filter on Hash inputs
2013-10-09 14:18:22 -07:00
Arthur Neves
fa3155fdcc
Bump version to 3.0.0
2013-10-09 17:12:03 -04:00
Arthur Neves
534338f923
Update history
...
Add 3.0.0 history
Add changes related to 2.5.x
2013-10-09 17:11:19 -04:00
Florian Weingarten
96b30a89a9
Fix map filter on Hash inputs
2013-10-08 08:18:03 -04:00
Florian Weingarten
81d3733f57
Regression test for change of blank? default behaviour ( 2efe809e11)
2013-09-23 09:38:45 -04:00
Florian Weingarten
2efe809e11
Make blank? default to false for all tags to maintain backwards compatible
2013-09-23 08:43:26 -04:00
Simon Hørup Eskildsen
322ecca145
Merge pull request #261 from Shopify/fix-i18n-regex-warning
...
Fix i18n regex warning in Ruby 1.8
2013-09-16 11:36:47 -07:00
Simon Eskildsen
6ce0b9d705
Fix i18n regex warning in Ruby 1.8
2013-09-16 14:35:33 -04:00
Florian Weingarten
736998df64
Merge pull request #257 from Shopify/fix_comment_tags_second_try
...
Fix unknown tags in comment tags, second try
2013-09-11 13:33:26 -07:00
Florian Weingarten
5b172a4c05
Fix unknown tags in comment tags, second try
2013-09-11 12:31:54 -04:00
Florian Weingarten
bd20595f1a
Add regression test for comment tag
2013-09-11 12:14:27 -04:00
Florian Weingarten
f938756a58
Revert "Merge pull request #256 from Shopify/unknown_tags_in_comments"
...
This reverts commit 1ae8c0e90a , reversing
changes made to 01d352bc51 .
2013-09-11 12:13:55 -04:00
Florian Weingarten
1ae8c0e90a
Merge pull request #256 from Shopify/unknown_tags_in_comments
...
Fix handling of unknown tags in comments
2013-09-11 07:59:44 -07:00
Florian Weingarten
45795f8766
Fix handling of unknown tags in comments
2013-09-11 10:40:33 -04:00
Florian Weingarten
01d352bc51
Move stuff in test around
2013-09-11 14:40:11 +02:00
Ishibashi Hideto
70513fccaf
remove include Liquid from the class CustomInclude and substitute QuotedFragment with Liquid::QuotedFragment
2013-09-11 03:25:06 +09:00
Ishibashi Hideto
a5285d3d09
test for the Jekyll's issue: [Liquid doesn't render my partial · Issue #1519 · mojombo/jekyll]( https://github.com/mojombo/jekyll/issues/1519 )
2013-09-10 22:58:56 +09:00
James Tucker
fbfd5712df
Merge pull request #3 from dntj/master
...
Add a test for corrected if-nodelist
2013-09-07 18:30:55 -07:00
Nicholas Jones
90593d3f18
Add a test for corrected if-nodelist
2013-09-07 11:15:49 -07:00
Tristan Hume
beded415cd
Merge pull request #253 from trishume/fix-range-parsing
...
Fix bad range parsing.
2013-09-07 05:17:30 -07:00
James Tucker
13c826933c
Update against failed cherry-pick
2013-09-07 01:42:41 +00:00
Tristan Hume
7c5b3e0c3b
Fix bad range parsing.
2013-09-04 18:13:31 -04:00
Nick Jones
ca5bc5d75b
Correct if-statement nodelist.
...
The nodelist returned by all tags is a list of containing nodes, except for the if tag. This correct that inconsistency
2013-08-31 19:03:50 +00:00
James Tucker
d4679cd550
Strainer test now works on 1.8
2013-08-31 18:57:09 +00: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
Tristan Hume
e8b41c8856
Fix error
2013-08-30 16:06:48 -04:00
Tristan Hume
4c22bacbba
Merge branch 'master' of https://github.com/Shopify/liquid
2013-08-30 15:56:13 -04:00
Tristan Hume
09a5b57ebe
Fix variable closing error message
2013-08-30 15:55:43 -04:00
Florian Weingarten
8059da4938
Update History.md
2013-08-30 15:28:33 -04:00
Tristan Hume
af50f71224
Guard against state that shouldn't happen but does
2013-08-30 15:26:26 -04:00
Simon Hørup Eskildsen
136b6763e6
Merge pull request #241 from Shopify/i18n-error
...
Add I18n syntax error translation
2013-08-30 09:55:05 -07:00
Simon Eskildsen
ad184fbfc9
Remove superplus translations
2013-08-30 12:31:58 -04:00
Simon Eskildsen
380828f807
Rename outdated test
2013-08-30 12:31:57 -04:00
Simon Eskildsen
fc8c45ebe6
Fix use of 1.9 hash syntax
2013-08-30 12:31:57 -04:00
Simon Eskildsen
072c12dc47
Localize errors in Liquid
2013-08-30 12:31:57 -04:00
Simon Eskildsen
29cdabc30e
Move I18n to options
2013-08-30 12:31:57 -04:00
Simon Eskildsen
df5980f23f
Change interpolation syntax to %{key}
2013-08-30 12:31:57 -04:00
Simon Eskildsen
5ee4f960e8
Move localization option to register
2013-08-30 12:31:57 -04:00
Simon Eskildsen
0343f6dc94
Add escaping of symbols
2013-08-30 12:31:57 -04:00
Simon Eskildsen
40fba9ee6c
Add locale to context registers
2013-08-30 12:31:57 -04:00
Simon Eskildsen
0a2f21386d
Add fixture helper
2013-08-30 12:31:57 -04:00
Simon Eskildsen
e7bcf04d1d
Remove delegate require from localization
2013-08-30 12:31:57 -04:00
Simon Eskildsen
0dac6fe88a
Change to absolute path in localization test
2013-08-30 12:31:57 -04:00
Simon Eskildsen
f37a984fd7
Add sketch of I18n error translation
2013-08-30 12:31:57 -04:00
Tristan Hume
0e41c2c6e9
Merge pull request #235 from Shopify/recursive-parsing
...
Add a Real Parser. Closes #229 and closes #225 .
2013-08-30 07:12:38 -07:00
Tristan Hume
7b52dfcb95
Clean up lexer logic
2013-08-27 16:36:22 -04:00
Tristan Hume
1fa029ab67
Simplify lexer logic.
2013-08-27 11:35:03 -04:00
Tristan Hume
26eb9a0817
Merge pull request #244 from Shopify/proper-parse-warnings
...
Add Better Parse Warnings To recursive-parser Branch
2013-08-27 06:53:34 -07:00
Tristan Hume
e305edc3b8
Remove extra comment
2013-08-27 09:53:06 -04:00
Tristan Hume
c94b5e87c9
Use attr_reader for warnings.
2013-08-22 16:16:28 -04:00
Tristan Hume
dd3196b22e
Consistency in warnings.
2013-08-22 16:15:12 -04:00
Tristan Hume
86ba2f4174
Fix error message 1.8 compatibility
2013-08-22 13:23:44 -04:00
Tristan Hume
5bdfb62bf2
Remove old warning method
2013-08-22 12:57:16 -04:00
Tristan Hume
77db92de54
Better testing of warn mode.
2013-08-22 12:55:54 -04:00
Tristan Hume
b0cba5298a
Fix warnings and make tags a proper syntax tree.
2013-08-22 12:44:23 -04:00
Tristan Hume
93fcd5687c
Broken warnings implementation.
2013-08-22 12:12:35 -04:00
Tristan Hume
14a17520de
Merge branch 'master' into recursive-parsing
2013-08-22 10:39:08 -04:00
Tristan Hume
0beb4a4793
Add handy context to strict parser error messages.
2013-08-19 15:45:05 -04:00
Tristan Hume
324d26d405
Consistent lack of periods in syntax errors.
2013-08-19 15:20:39 -04:00
Tristan Hume
047900d0dd
Proper warning support
2013-08-19 15:14:26 -04:00
Florian Weingarten
f6f89fd0aa
Merge pull request #242 from Shopify/overwrite_drop_inspect
...
Overwrite drop inspect
2013-08-19 09:48:16 -07:00
Florian Weingarten
a57d576708
Overwrite drop inspect
2013-08-19 12:08:27 -04:00
Tristan Hume
eb68a751ac
Hopefully fix CI by improving multi-suite runner.
2013-08-16 15:15:15 -04:00
Florian Weingarten
355199dac4
Update History.md
2013-08-14 17:00:26 -04:00
Florian Weingarten
c8f38ad9d0
Merge pull request #239 from Shopify/sort_filter_on_enumerables
...
Sort filter on Enumerables
2013-08-14 13:59:44 -07:00
Florian Weingarten
ed4b61bfd3
Fix broken map test and add sort test
2013-08-08 11:53:52 -04:00
Florian Weingarten
8f978ecd1a
Make sort filter work on Enumerable drops
2013-08-08 11:47:26 -04:00
Florian Weingarten
98c184f2fb
Update History.md
2013-08-06 10:24:37 -04:00
Florian Weingarten
615e48fe29
Merge pull request #238 from Shopify/fix_clashing_method_names_in_enumerable_drops
...
Fix clashing method names in enumerable drops
2013-08-06 07:23:56 -07:00
Tristan Hume
6cde98319f
More little fixes and changed default benchmark
2013-08-02 15:21:15 -04:00
Tristan Hume
15b53b77d6
Make stuff nicer
2013-08-02 15:17:17 -04:00
Tristan Hume
48f50eea3b
Remove unused lex_specials method
2013-08-02 15:12:11 -04:00
Tristan Hume
ace12e29da
Hopefully fix CI on Rubinius
2013-08-02 13:37:56 -04:00
Florian Weingarten
f98949117d
Fix .include? method on Enumerable drops, used by "contains" conditions
2013-08-02 10:23:10 -04:00
Florian Weingarten
7fdb789eac
Ruby 1.8.x compatibility
2013-08-01 13:56:01 -04:00
Florian Weingarten
c92efd3ab9
Update some Drop tests
2013-08-01 13:46:55 -04:00
Florian Weingarten
ff570c3ddc
Fix clashing method names in enumerable drops
2013-08-01 13:17:02 -04:00
Tristan Hume
824231284c
Run test suite with both parsers
2013-08-01 12:49:36 -04:00
Florian Weingarten
ee2902761c
Update History.md
2013-08-01 09:18:29 -04:00
Tristan Hume
f6eacbf875
Add prayer for forgiveness.
2013-07-31 09:49:31 -04:00
Tristan Hume
c5afdc529a
Shuffle logic around.
2013-07-30 16:17:03 -04:00
Tristan Hume
84f0c1bef8
Initial options passing
2013-07-30 14:44:41 -04:00
Tristan Hume
1458396733
Fix benchmark
2013-07-30 14:20:16 -04:00
Tristan Hume
346e92aaa6
Describe error modes in Readme
2013-07-29 16:40:22 -04:00
Tristan Hume
3b3961be39
Use lax mode by default so nothing breaks
2013-07-29 16:28:20 -04:00
Tristan Hume
8ca00982b6
Fixed ranges and added for loop parser
2013-07-29 14:11:47 -04:00
Tristan Hume
525e1ff195
Add range support
2013-07-29 13:25:48 -04:00
Tristan Hume
8f4b398c7a
Abstract parser switching into tag
2013-07-29 13:00:35 -04:00
Tristan Hume
d5d41a8202
Make previous commit work
2013-07-29 12:43:05 -04:00
Tristan Hume
c8bd0b91b3
Catch easy cases
2013-07-29 12:07:18 -04:00
Tristan Hume
bc76c0daaf
Collapse float and int into 'number'
2013-07-29 11:04:46 -04:00
Tristan Hume
be4a04ed85
Merged array_tokens into recursive-parsing
2013-07-29 10:38:52 -04:00
Tristan Hume
8dcf44e99d
Faster token creation, hopefully.
2013-07-29 10:23:04 -04:00
Tristan Hume
a892e69a88
Hopefully fix CI build
2013-07-26 15:55:10 -04:00
Harry Brundage
bf53e517f5
Inline Parser#next_token to avoid method dispatch
2013-07-26 15:38:52 -04:00
Harry Brundage
bacacf2fd0
Remove the Token class from the lexer in favour of less smart but faster arrays
2013-07-26 15:14:01 -04:00
Tristan Hume
1b43bf5686
Add parser tests
2013-07-26 13:09:36 -04:00
Tristan Hume
83e71ace99
Add lexer tests and fixes
2013-07-26 12:50:27 -04:00
Tristan Hume
4dc9cc0ea1
Add back tests for lax parsing
2013-07-26 11:55:50 -04:00
Tristan Hume
87b8ee7341
Add error mode switching
2013-07-26 11:45:13 -04:00
Florian Weingarten
07f7d63bea
Use kind_of? instead of class.include? and rearrange stuff
2013-07-26 11:34:00 -04:00
Florian Weingarten
1af28a6eb8
Merge pull request #233 from Shopify/make_map_work_on_enumerables
...
Make 'map' filter work on Enumerable drops
2013-07-26 08:30:16 -07:00
Florian Weingarten
65dfd57bb5
Make 'map' filter work on Enumerable drops
2013-07-26 10:35:28 -04:00
Tristan Hume
8b1dff9d98
Allow ! in identifiers like Ruby
2013-07-26 10:33:30 -04:00
Tristan Hume
8896b55fa5
Parsing for if statements
2013-07-26 10:31:26 -04:00
Tristan Hume
c0b9d53548
Revert "Test a different lexer architechture"
...
This reverts commit 24ddaf1a9c .
2013-07-26 09:52:04 -04:00
Tristan Hume
24ddaf1a9c
Test a different lexer architechture
2013-07-26 09:51:58 -04:00
Tristan Hume
673826630c
Unfinished if statement parser.
2013-07-26 09:32:08 -04:00
Florian Weingarten
554675d1f8
Update README.md
2013-07-26 14:46:55 +02:00
Florian Weingarten
11e1379570
Merge pull request #234 from Shopify/fix_mapping_procs
...
Fix mapping over procs
2013-07-26 05:45:56 -07:00
Florian Weingarten
3e13ed4ba1
Fix mapping over procs
2013-07-25 22:11:44 -04:00
Florian Weingarten
b004acf856
Merge pull request #232 from Shopify/to_liquid_stuff
...
Always call 'to_liquid' on stuff in map filter and allow to_liquid to be...
2013-07-25 14:10:52 -07:00
Florian Weingarten
182d3fefb6
Always call 'to_liquid' on staff in map filter and allow to_liquid to be called on drops
2013-07-25 17:10:19 -04:00
Tristan Hume
17d818b453
Fix profiler
2013-07-25 15:04:04 -04:00
Tristan Hume
0453d7e299
Fix benchmarks to use only valid liquid.
2013-07-25 11:51:51 -04:00
Tristan Hume
4da7b36139
New variable parser!
2013-07-25 11:38:57 -04:00
Florian Weingarten
c7336e0cc1
Add license to gemspec, closes #231
2013-07-24 19:10:12 -04:00
Tristan Hume
f43e973e67
Basic expression parsing
2013-07-24 16:36:14 -04:00
Florian Weingarten
bbc405a24c
Merge pull request #230 from Shopify/use_invoke_drop_in_map
...
Use invoke_drop in map filter
2013-07-24 12:47:56 -07:00
Florian Weingarten
f9027d54ab
Use invoke_drop in map filter
2013-07-24 15:41:50 -04:00
Tristan Hume
84be895db2
Fancy StringScanner based lexer
2013-07-24 15:39:48 -04:00
Tristan Hume
b20a594f25
Better lexer
2013-07-24 15:19:14 -04:00
Tristan Hume
76272a1afa
Bring back the lexer
2013-07-24 14:40:29 -04:00
Tristan Hume
61a6deb43b
Descriptive comment for lexer
2013-07-24 12:00:51 -04:00
Tristan Hume
ee14775f83
Replace hand-coded lexer with faster hacky lexer.
2013-07-24 11:41:47 -04:00
Tristan Hume
2332d86156
Slow lexer and parser scaffold.
2013-07-24 11:35:00 -04:00
Florian Weingarten
fbfda1a189
Little cosmetic change
2013-07-05 11:30:50 -04:00
Florian Weingarten
f0ecd02199
Fix some blank tests
2013-07-03 02:47:22 +02:00
Florian Weingarten
4a103a9dde
Merge pull request #218 from Shopify/dont_render_blank_blocks
...
Dont render blank blocks
2013-07-02 15:15:54 -07:00
Florian Weingarten
0f38fe3596
Add blank test for case tags
2013-07-02 18:08:20 -04:00
Florian Weingarten
cd3f976288
Merge branch 'master' into dont_render_blank_blocks
...
Conflicts:
lib/liquid/tag.rb
2013-07-02 14:00:30 -04:00
Florian Weingarten
b53601100f
Make sure include tags are never blank
2013-07-02 13:57:27 -04:00
Florian Weingarten
5c5e7de31e
Merge pull request #221 from d-Pixie/master
...
Changes not empty? to any?
2013-07-01 07:55:26 -07:00
Jonas Schubert Erlandsson
f91233450f
Changes not empty? to any?
2013-07-01 16:12:58 +02:00
Florian Weingarten
429e492984
Merge pull request #220 from coding46/master
...
Fix some typos in comments
2013-06-27 13:20:24 -07:00
G. Bodenschatz
d36a1c518b
Fix some typos in comments
2013-06-27 22:16:23 +02:00
Florian Weingarten
40a37c3fb6
Merge branch 'master' into dont_render_blank_blocks
...
Conflicts:
lib/liquid/tags/cycle.rb
lib/liquid/tags/increment.rb
2013-06-27 10:03:18 -04:00
Florian Weingarten
37309678de
Merge pull request #219 from Shopify/indent_and_trailing_ws_cleanup
...
Convert legacy tab indentation to spaces and remove trailing whitespace ...
2013-06-27 06:50:28 -07:00
Florian Weingarten
cfb60c2f1b
Update History.md
2013-06-27 14:30:37 +02:00
Florian Weingarten
668ee5e1c4
Clean up whitespace collapsing
2013-06-27 14:06:05 +02:00
Florian Weingarten
b4fbcea114
Cycle tags are never blank
2013-06-27 14:00:38 +02:00
Florian Weingarten
c16697746b
Clean up whitespace collapsing a bit
2013-06-27 13:57:26 +02:00
Florian Weingarten
f01d0dbea6
More tests for whitespace collapsing
2013-06-27 13:39:04 +02:00
Florian Weingarten
10c151e3aa
Some tests for whitespace collapsing
2013-06-26 22:30:33 -04:00
Florian Weingarten
d6e13faa43
Don't render blank blocks
2013-06-26 22:21:47 -04:00
Florian Weingarten
0f5441b09e
Convert legacy tab indentation to spaces and remove trailing whitespace from all lines
2013-06-26 19:53:09 -04:00
Florian Weingarten
7a3746ad77
Update CONTRIBUTING.md
...
Add @arthurnn for code review
2013-06-26 05:03:05 +03:00
Florian Weingarten
24511556d3
Update README.md
2013-06-20 09:53:21 -03:00
Florian Weingarten
5621556b3a
Update History.md
2013-06-18 12:36:50 -03:00
Florian Weingarten
fd230bef14
Merge pull request #106 from gnowoel/fix_example_servlet
...
fix example servlet
2013-06-18 08:35:42 -07:00
Florian Weingarten
e9f3a8e4d3
Update History.md
2013-06-18 05:18:43 +03:00
Florian Weingarten
8ca4868bff
Merge branch 'master' of https://github.com/ndwebgroup/liquid into ndwebgroup-master
2013-06-18 04:13:49 +02:00
Florian Weingarten
f92da6948d
Merge branch 'strip-html-fix' of https://github.com/jamesallardice/liquid into jamesallardice-strip-html-fix
...
Conflicts:
lib/liquid/standardfilters.rb
2013-06-18 04:11:11 +02:00
Florian Weingarten
a1b156f0d4
strip_html multi-line comment test
2013-06-18 04:06:35 +02:00
Florian Weingarten
eca520025c
Merge branch 'strip-html' of https://github.com/joliss/liquid into joliss-strip-html
...
Conflicts:
lib/liquid/standardfilters.rb
2013-06-18 04:04:49 +02:00
Florian Weingarten
9c9a7ce8d3
Update History.md
2013-06-18 05:01:23 +03:00
Florian Weingarten
b7837ce218
Merge pull request #210 from Shopify/truncate_utf8_test
...
UTF8 truncate test
2013-06-17 09:45:10 -07:00
Florian Weingarten
b81469d183
Make truncate work for Ruby 1.8
2013-06-17 12:05:02 -04:00
Florian Weingarten
f488058789
UTF8 truncate test
2013-06-17 11:48:03 -04:00
Florian Weingarten
f5d75718e9
Update History.md
2013-06-16 18:31:19 +03:00
Florian Weingarten
c280936afa
Merge pull request #209 from Shopify/fix_broken_raw_parsing
...
Fix broken 'raw' tag parsing (issue #204 )
2013-06-15 04:58:51 -07:00
Florian Weingarten
e47d1af03a
Fix broken 'raw' tag parsing (issue #204 )
2013-06-14 12:47:27 -04:00
Florian Weingarten
81f6c79c53
Update README.md
2013-06-14 10:04:24 -03:00
Florian Weingarten
3174411407
Merge pull request #208 from Shopify/contributing
...
CONTRIBUTING.md
2013-06-14 05:58:37 -07:00
Florian Weingarten
f7c4b0cdec
Update History.md
2013-06-14 08:57:27 -04:00
Florian Weingarten
3d1f582318
Merge pull request #201 from arthurnn/adding_version_file
...
create version.rb file, and bump version
2013-06-14 05:45:48 -07:00
Florian Weingarten
27db1def63
CONTRIBUTING.md
2013-06-14 02:41:08 +02:00
Florian Weingarten
5cfa13d7a4
Merge pull request #205 from phoet/stricter_handling_of_variables_in_for
...
rejects variables like a/b in for loops, closes #150
2013-06-13 15:26:00 -07:00
Peter Schröder
cb12497859
add test for allowing whitespace between tokens
2013-06-13 18:21:49 -04:00
Florian Weingarten
4c2e2f8a24
Merge pull request #203 from phoet/strip_carriage_return
...
handle carriage return in strip_newline, closes #126
2013-06-13 12:54:17 -07:00
Peter Schröder
a2df5a421d
rejects variables like a/b in for loops, closes #150
2013-06-11 17:22:33 -04:00
Dylan Thacker-Smith
437e9201de
Merge pull request #174 from yardstick/drop-context
...
Allow a Liquid::Drop to be passed into Template#render
2013-06-10 07:46:06 -07:00
Peter Schröder
fd263bba0f
handle carriage return in strip_newline, closes #126
2013-06-09 10:24:35 -04:00
Arthur Neves
0d9353591b
bump master version to 2.6.0
...
Bumping master version to 2.6.0
Adding 2.6.0 changes to history
2013-06-06 14:17:12 -04:00
Arthur Neves
1849c24f2c
Adding version file
...
Follow the standard structure of having a version.rb file
2013-06-06 14:10:45 -04:00
Daniel Huckstep
f8288546f8
Missed in the rebase conflicts
2013-06-06 10:20:34 -06:00
Daniel Huckstep
076ae903c0
Make sure the context gets set
2013-06-06 10:19:20 -06:00
Daniel Huckstep
ba5e65f685
Better test, resuse Hash block
2013-06-06 10:18:47 -06:00
Daniel Huckstep
b699c93bae
Allow a Liquid::Drop to be passed into Template#render
2013-06-06 10:17:01 -06:00
Florian Weingarten
85c1503378
Merge pull request #200 from arthurnn/155_float_precision
...
use BigDecimal on filters to have better precision
2013-06-05 14:07:20 -07:00
Arthur Neves
ab760649ee
use BigDecimal on filters to have better precision
2013-06-05 16:09:05 -04: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
a5cd494717
Merge pull request #176 from unreal/master
...
Add reverse filter
2013-06-05 09:04:53 -07:00
Florian Weingarten
f8915f3cd2
Merge pull request #199 from phoet/add_documentation_for_include
...
add documentation to include, fixes #163
2013-06-05 09:00:11 -07:00
Peter Schröder
e92540a9bf
add documentation to include, fixes #163
2013-06-05 11:53:01 -04:00
Dylan Thacker-Smith
482115d784
Merge pull request #173 from jsw0528/master
...
fix `can't convert Fixnum into String` for `replace`
2013-06-04 13:09:42 -07:00
Florian Weingarten
94ff457744
Merge pull request #198 from Shopify/limit_resource_usage
...
Resource usage limits
2013-05-31 08:24:29 -07:00
Florian Weingarten
1e8c081b42
Create new resource_limits hash on Template initialization
2013-05-31 09:41:59 -04:00
Florian Weingarten
2b17e24b16
Mutate resource_limits hash to flag that the limit was reached (for outside observation)
2013-05-31 09:34:23 -04:00
Florian Weingarten
9075b428b1
Resource limits: Don't raise Error but render error message (but abort after first error)
2013-05-31 09:25:25 -04: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
Tom Burns
50b2ebee56
Merge pull request #189 from Shopify/cache_partials
...
Cache tokenized partial templates
2013-05-29 07:51:12 -07:00
Dylan Thacker-Smith
23203c0122
Fix some old templates that abused colon as an argument separator.
...
This is a fallback for keyword argument parsing since this feature broke
old templates that accidentally used a colon as a filter argument
separator.
2013-05-21 17:47:46 -04:00
Tom Burns
27fe76c0dd
Merge pull request #192 from Shopify/revert_utf8
...
Revert "Merge pull request #185 from ISSIntel/liquid-utf8"
2013-05-21 14:46:17 -07:00
Tom Burns
8913a5615a
Revert "Merge pull request #185 from ISSIntel/liquid-utf8"
...
This reverts commit c5dfcd29b0 , reversing
changes made to f7d1e1d0c1 .
2013-05-20 19:53:13 -04:00
Dylan Thacker-Smith
690b3ff27f
Merge pull request #135 from astathopoulos/preserve_filters_ordering
...
Use array instead of Hash to keep the registered filters
2013-05-17 05:25:07 -07:00
Tasos Stathopoulos
8c1bbfec57
Use array instead of Hash to keep the registered filters
...
1.8.7 compatibility fix
In Ruby 1.8.7, Hash does not preserve insertion ordering as Array does.
This could cause a problem when registering filters which depend on others and
the registration order is important.
So, the @@filters variable was changed to array where the order of the filters is
the same as the insertion order.
2013-05-17 14:12:57 +03:00
Tom Burns
b8fbd2b4fa
typo
2013-05-16 20:25:31 -04:00
Tom Burns
ba5a9f2e47
remove _ on private methods
2013-05-13 13:45:43 -04:00
Tom Burns
1e309ba74b
cache included partial templates
2013-05-13 02:34:19 -04:00
Tom Burns
485340713a
Add tests for caching partial includes
2013-05-13 02:34:19 -04:00
Tom Burns
2af4ea1295
Support benchmarking templates with 'include' tag
2013-05-12 22:17:08 -04:00
Tom Burns
c5dfcd29b0
Merge pull request #185 from ISSIntel/liquid-utf8
...
Liquid UTF-8 support
2013-04-23 10:29:49 -07:00
Ozéias Sant'ana
f9c289372d
Merge branch 'master' into liquid-utf8
...
Conflicts:
lib/liquid/variable.rb
2013-04-23 13:10:16 -03:00
Jay Strybis
a556ae6c26
Add reverse filter
2013-03-07 16:29:39 -06:00
Dylan Smith
f7d1e1d0c1
Release 2.5.0
2013-03-06 10:51:06 -05:00
Dylan Smith
28fd2222c8
Merge branch 'remove-symbolizing'
2013-03-05 16:33:56 -05:00
Marcus Stollsteimer
1cac09831d
Completely remove unused variable
2013-03-05 22:19:38 +01:00
Dylan Smith
9913895b81
Merge branch 'master' into remove-symbolizing
...
Conflicts:
lib/liquid/variable.rb
2013-03-05 15:25:11 -05:00
Dylan Smith
d706db3bd7
Add support for filter keyword arguments. Closes #175
2013-03-05 15:17:14 -05:00
wǒ_is神仙
17dd85868d
add tests for replace filter
2013-02-21 10:52:46 +08:00
wǒ_is神仙
6e967f7f3a
fix can't convert Fixnum into String
2013-02-06 12:55:35 +08: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
Jason Roelofs
a48e162237
Change Drop method lookup to not hit respond_to?
...
Class.public_method_defined? ends up diving into Ruby's core looking for
a method with the given method_or_key. This process at some point turns
method_or_key into a Symbol. This change no longer takes that path and
thus doesn't grow the Symbol table.
2013-01-16 11:07:48 -05:00
Jason Roelofs
7bcb565668
Remove #to_sym calls from Drop and Variable
...
Symbols are not needed here and using plain strings is nicer on Ruby
2013-01-16 09:46:17 -05:00
Jason Roelofs
c3e6cde67f
Add security tests to show that the symbol table doesn't grow
2013-01-16 09:46:17 -05:00
Adam Tanner
0b36540b78
Liquid has UTF8 support.
2012-12-26 18:14:36 -08:00
Dylan Smith
50bd34fd78
Merge pull request #161 from Shopify/fix-filter-parser-regex
...
Fix filter parser regex for filter args without separating spaces.
2012-12-18 10:13:21 -08:00
Dylan Smith
ee41b3f4a3
Fix filter parser regex for filter args without separating spaces.
...
The regex was using \S+ to match the comma between the filters
arguments, but would continue to match idependent quote characters and
filter separators. This can result in multiple filters being interpreted as
a single one with many arguments.
2012-12-18 01:23:31 -05:00
Marcus Stollsteimer
b48ad7da3a
Remove trailing whitespace
2012-11-18 10:29:22 +01:00
Marcus Stollsteimer
afc3944a4a
Fix assignment with no effect outside of iterator
2012-11-18 10:21:03 +01:00
Marcus Stollsteimer
c79abf1f87
Avoid warnings for assigned but unused variable
2012-11-18 10:20:07 +01:00
Marcus Stollsteimer
90b40ffb4b
Avoid warnings for shadowed outer local variable
2012-11-18 10:19:05 +01:00
Marcus Stollsteimer
fea9c54768
Avoid warning for grouped expression
2012-11-18 10:08:00 +01:00
Tobias Lütke
05d9976e16
fix benchmark
2012-10-29 16:47:57 -04:00
Tom Burns
6c2fde5eea
Instantiate blank string once instead of at every comparison
2012-10-25 11:54:19 -04:00
Tobias Lütke
ce76dbf8d9
fixed the performance suite
2012-10-20 10:53:53 -04:00
Steven Soroka
661ff2ccdf
Merge pull request #140 from binarycleric/feature/break_for_loop
...
Added break and continue statements
2012-08-21 13:22:24 -07: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
Jon Daniel
484fd18612
added break and continue tags
2012-08-21 00:00:02 -04:00
Jonathan Rudenberg
bf86459456
Merge pull request #139 from pjb3/fix_block_test_name
...
Class name does not match file name
2012-08-19 15:07:59 -07:00
Paul Barry
d2827c561b
Class name does not match file name
2012-08-19 07:44:35 -04:00
Tobias Lütke
16c34595a4
fix mergeconflict
2012-08-07 13:21:31 -04:00
Tobias Lütke
6e091909ee
Merge branch 'master' of github.com:Shopify/liquid
2012-08-07 13:20:37 -04:00
Tobias Lütke
d7cb39ccb3
release 2.4.0
2012-08-07 13:20:23 -04:00
Jonathan Rudenberg
f8d46804fd
Fix rake test for broken version of rake on travis
2012-08-07 09:49:55 -04:00
Jonathan Rudenberg
5c6de2d919
Fix typo
2012-08-07 09:37:19 -04:00
Jonathan Rudenberg
a8e9327f0b
Update HISTORY.md for v2.4.0 release
2012-08-07 09:32:38 -04:00
Dylan Smith
f5a20ff8e8
Fix a regression in tablerow limit parameter.
...
I had accidentally read slice_collection_using_each as using to as an
inclusive limit rather than exclusive, and no tests covered the offset or
limit parameters.
2012-06-21 14:56:05 -04:00
Dylan Smith
d0184555d9
Allow tablerow to work with any Enumerable. Closes #132
2012-06-20 11:07:11 -04:00
Jason Normore
6ebdded8f2
Merge branch 'issue_1650_strip_html_ignore_comments'
2012-06-11 10:33:00 -04:00
Jason Normore
515b31158e
strip_html to ignore comments with html tags. fixes #1650
2012-06-11 10:32:12 -04:00
7rans
40cc799f3d
Add example to split filter.
2012-06-11 10:32:12 -04:00
Daniel Schierbeck
5ac91e0837
Fix typo and add punctuation
2012-06-11 10:32:12 -04:00
Jonathan Rudenberg
f6cb54fa59
Merge pull request #93 from trans/master
...
Split Filter Example
2012-06-07 12:21:40 -07:00
Jonathan Rudenberg
1606b4b705
Merge pull request #118 from dasch/patch-1
...
Fix typo and add punctuation
2012-06-07 12:20:54 -07:00
Jonathan Rudenberg
7cfd0f15d1
Merge pull request #128 from andmej/patch-1
...
Tpyo.
2012-06-07 12:18:09 -07:00
Jonathan Rudenberg
25ba54fc52
Enable 19mode for travis rbx/jruby
2012-06-07 15:16:58 -04:00
Jonathan Rudenberg
1aff63ff57
Merge pull request #107 from amateurhuman/syntax-error-fixes-for-rubinius
...
Fix syntax error in htmltags.rb and for.rb for compatibility with rbx-2.0.0-dev (1.9.3)
2012-06-07 12:14:35 -07:00
Jonathan Rudenberg
08fdcbbf65
Merge pull request #120 from infospace/interpolate_regex_once
...
add interpolate once flag to regexes that never change
2012-06-07 12:06:57 -07:00
Jonathan Rudenberg
2dba9ed0ea
Merge pull request #113 from arika/improve-process-time
...
apply "o" option to regexps to improve process time
2012-06-07 12:04:28 -07:00
Andrés Mejía
6d02d59fbd
Tpyo.
2012-06-06 22:32:42 -05:00
Michael Green
281e3ea9c8
add interpolate once flag to regexes that never change
2012-05-08 16:27:50 -07:00
Daniel Schierbeck
b51b30fac1
Fix typo and add punctuation
2012-05-03 14:16:06 +03:00
Jeremy Friesen
740cd6e762
Merge branch 'master' of git://github.com/Shopify/liquid
...
* 'master' of git://github.com/Shopify/liquid:
* Seperated 'Howto' into 'How to'. * Added periods to the second list as the first item has them. I guess I'm anally retentive like that. :)
Fix conditions using negative number comparisons
2012-04-19 10:59:44 -04:00
Jeremy Friesen
5d0004a87e
Added tests to verify that {{ 'now' | date :'%Y' }} and {{ 'today' | date :'%Y' }} work.
...
In the case of Ruby 1.9.3, 'now' is no longer parsed. For safe
measures, I've added 'today' as well.
2012-04-19 10:48:55 -04:00
jamesallardice
12112dee35
Make strip_html filter strip contents of style tags
2012-04-11 16:23:21 +01:00
akira yamada
84ed3d9964
apply "o" option to regexps to improve process time
2012-04-02 19:31:55 +09:00
Dennis Theisen
c10f936d2a
Merge pull request #109 from DanAtkinson/patch-1
...
Minor modification to readme
2012-03-14 08:27:43 -07:00
Dan Atkinson
1ee342d83b
* Seperated 'Howto' into 'How to'.
...
* Added periods to the second list as the first item has them. I guess I'm anally retentive like that. :)
2012-03-14 14:58:12 +00:00
Dennis Theisen
0e3b522fe2
Fix conditions using negative number comparisons
2012-03-12 16:38:34 -04:00
Chris Kelly
db07e2b67e
Fix syntax error in for and htmltags files for compatibility with Rubinius 2.0.0-dev
2012-03-09 00:24:31 -08:00
Leo Wong
5c4938f443
fix example servlet
2012-03-08 01:29:50 +08:00
Dennis Theisen
b8d7b9aeda
Fix for-tag update to also work properly in Ruby 1.8.
...
* Follow up commit to 3d7c1c8
2012-02-29 16:13:46 -05:00
Dennis Theisen
3d7c1c80a0
Ruby 1.8 compatibility fix: Ensure for-loop on an empty string does not enter for-body.
2012-02-29 14:41:21 -05:00
Dennis Theisen
1b2d0198ea
Added backwards compatibility test for tablerow tag update
...
* Follow up to 043d816
2012-02-22 14:30:19 -05:00
Dennis Theisen
043d816460
Fix tablerow block to work with collection names in quoted syntax.
...
* Allows e.g. {% tablerow product in collections['frontpage'] %} instead of only collections.frontpage
2012-02-22 12:45:38 -05:00
Jo Liss
4a2bbafeb4
Make strip_html strip tags spread across lines
2012-02-16 15:42:10 +01:00
7rans
974ea40cca
Add example to split filter.
2012-02-10 13:45:35 -05:00
Kristian PD
d8b416187a
Merge pull request #88 from kristianpd/master
...
Add 1.9.3 support for 1.8.7 like strings behaviour in forloop
2012-01-31 10:27:44 -08:00
Kristian PD
58ad90677b
Clarified compatibility comments, removed unused var from tag test.
2012-01-20 17:22:23 -05:00
Kristian PD
2b04590d4b
Revert "Revert "Added backwards compatibility for 1.8.7 String.each returning itself (and 1.9.3 not supporting .each).""
...
This reverts commit bce0033c65 .
2012-01-20 16:54:26 -05:00
Kristian PD
bce0033c65
Revert "Added backwards compatibility for 1.8.7 String.each returning itself (and 1.9.3 not supporting .each)."
...
This reverts commit 01dea94671 .
2012-01-20 16:47:34 -05:00
Kristian PD
01dea94671
Added backwards compatibility for 1.8.7 String.each returning itself (and 1.9.3 not supporting .each).
...
Moved for tag tests to their own test model from StandardTagTest.
2012-01-20 16:45:41 -05:00
Tobias Lütke
1a1b4702d7
Merge pull request #80 from ROFISH/master
...
Add Filters to Assign
2011-12-20 13:58:05 -08:00
Steven Soroka
85d1dc0d07
Merge pull request #84 from biow0lf/master
...
Fix typo
2011-12-16 09:12:07 -08:00
Igor Zubkov
0eafe7f2fd
Fix typo
2011-12-16 12:28:29 +02:00
Jonathan Rudenberg
815e4e2b8d
Remove travis rbx-1.9 mode for now
2011-11-17 16:55:50 -05:00
Jonathan Rudenberg
ef98715b12
Update Travis rubies
2011-11-17 14:23:25 -05:00
Jonathan Rudenberg
c4d713b6bb
Add modulo filter
2011-11-17 14:08:57 -05:00
Ryan Alyea
975b17b529
Allow filters in assign.
...
A simple attempt, but basically it shifts the parsing of the right hand side of the assign from a simple context lookup to using the Variable parser (that includes filters). Fixes #79 .
2011-11-01 01:46:26 -07:00
Jonathan Rudenberg
745d875e79
Add date to History.md
2011-10-16 10:22:20 -04:00
Tobias Lütke
c91cb8af6c
released new gem
2011-10-16 09:16:23 -04:00
Jonathan Rudenberg
bb73198b4f
Fix servlet strip example
2011-10-15 22:59:58 -04:00
Jonathan Rudenberg
f0f2e56369
Merge pull request #76 from trans/master
...
Add split example to example servlet
2011-10-15 19:58:40 -07:00
Jonathan Rudenberg
b816521563
Merge pull request #72 from zacstewart/patch-1
...
Correct formatting for doc comments
2011-10-15 17:25:48 -07:00
Jonathan Rudenberg
4026f6c340
Update history file
2011-10-15 20:18:00 -04:00
Jonathan Rudenberg
05a20c627d
Clean up test suite
2011-10-15 20:04:27 -04:00
Jonathan Rudenberg
8e3f0c122e
Clean up Rakefile and gemspec
2011-10-15 19:56:03 -04:00
Jonathan Rudenberg
487b240404
Fix another drop call regression
2011-10-14 11:21:22 -04:00
Jonathan Rudenberg
f129ee33f2
Remove 1.8.6 (unsupported) from Travis
2011-10-13 12:03:08 -04:00
Jonathan Rudenberg
cdf7f5b6a7
Fix UTC time for Travis
2011-10-13 12:00:42 -04:00
Jonathan Rudenberg
204d876187
Don't use the rubygems version of liquid in performance test
2011-10-13 11:48:24 -04:00
Jonathan Rudenberg
8b5cf73ccc
Fix regression with calling a drop with a empty string
2011-10-13 11:47:23 -04:00
7rans
edebcaa603
Add split example to example servlet.
2011-09-29 18:41:47 -04:00
Zac
6cf6d8b990
Correct formatting for doc comments
...
Portions of the code examples were not being rendered as code because they lacked a leading tab. Also, a missing period on the first sentence made the first paragraph confusing.
2011-09-10 10:36:22 -03:00
Tobias Lütke
1379061398
Merge pull request #69 from trans/master
...
Added split filter
2011-09-05 13:01:15 -07:00
7rans
4971b9e9bc
Remove comment about stripping split results.
2011-09-01 12:03:27 -04:00
7rans
da34d27258
Add test for split filter.
2011-08-31 22:20:45 -04:00
7rans
cc7899aef5
Add split filter.
2011-08-31 21:28:32 -04:00
Jonathan Rudenberg
0fc78a2dbb
Merge pull request #65 from adomokos/add_rvmrc_to_gitignore
...
Add the .rvmrc to .gitignore
2011-07-13 04:51:34 -07:00
Attila Domokos
c401ffb9c3
Add the .rvmrc to .gitignore
2011-07-13 04:18:19 -04:00
Jonathan Rudenberg
2434c3d0e0
Remove duplicate commas from StrictQuotedFragment. Closes #26 .
2011-07-12 09:18:46 -04:00
Tobias Lütke
352f83a9d2
Merge pull request #28 from mcr/mcr_inc_tag
...
increment tag
2011-07-01 11:48:13 -07:00
Tobias Lütke
98c96ed86a
Merge pull request #60 from a-team/master
...
Avoid creating singleton classes on nil, true and false objects
2011-07-01 11:43:27 -07:00
Tobias Lütke
410cce9740
Merge pull request #56 from oozou/for-else
...
For-else !!!
2011-07-01 11:42:17 -07:00
Jonathan Rudenberg
a8ed72a036
Add build status and small copy changes in the README
2011-06-30 16:36:49 -04:00
Jonathan Rudenberg
4aaf750fa8
Don't mess with the load path
2011-06-30 16:31:37 -04:00
Jonathan Rudenberg
e5a3d67a32
Add Rubinius to Travis runs
2011-06-30 16:25:55 -04:00
Jonathan Rudenberg
fe25644726
Rescue NameError for Rubinius
2011-06-30 16:24:17 -04:00
Jonathan Rudenberg
c47eac1683
Add kind_of? and singleton_methods to Strainer so that Rubinius works
2011-06-30 16:17:31 -04:00
Jonathan Rudenberg
c10a40f1fa
Ignore rubinius bytecode files
2011-06-30 16:16:35 -04:00
Jonathan Rudenberg
e4003a74a1
Remove failing Rubies from Travis run for now
2011-06-29 15:08:44 -04:00
Jonathan Rudenberg
03065274d8
Use Travis CI
2011-06-29 11:06:20 -04:00
Jonathan Rudenberg
00afc9dd8a
Merge pull request #62 from rmetzler/master
...
code blocks in README.md displayed properly on github (closes #61 )
2011-06-19 20:48:03 -07:00
Richard Metzler
6bfdda9e17
html highlighting
2011-06-19 03:50:52 -07:00
Richard Metzler
00da0b6a42
ruby highlighting
2011-06-19 03:50:08 -07:00
Richard Metzler
39174ccee6
code blocks in github flavored markdown
2011-06-19 03:49:37 -07:00
Tim Felgentreff
c7033ff4c8
Avoid creating singleton classes on nil, true and false objects. Instead extend their respective classes. Just because those objects are singletons in current Ruby implementations doesn't mean we should rely on that. Fixes liquid on Maglev.
2011-06-13 18:13:47 +02:00
Jonathan Rudenberg
f85bea2902
Remove literal tag (raw is more performant)
...
This reverts commit c00a650492 .
2011-06-13 09:34:15 -04:00
Jonathan Rudenberg
17922273e1
Merge old Shopify/liquid
2011-06-13 09:31:31 -04:00
Jonathan Rudenberg
4087a94d88
Add raw tag. Fixes #37 .
...
Thanks to phaer: https://gist.github.com/1020852
YO DAWG, WE HEARD YOU LIKE LIQUID
SO WE PUT A RAW TAG IN YOUR LIQUID
SO YOU CAN HAVE LIQUID IN YOUR LIQUID
2011-06-12 11:15:16 -04:00
Steven Soroka
1a4ff9547a
render_all should internally always return strings. This eases some 1.9 compatability issues.
2011-05-02 10:58:27 -04:00
Steven Soroka
888cbe8f09
fix next if /^__.+__$/ to /^(__.+__|object_id)$/, since object_id will complain if it is removed
2011-04-28 15:24:50 -05:00
Steven Soroka
2f11364417
make ruby-debug optional
2011-04-28 15:18:59 -05:00
Steven Soroka
74cdfc6718
Fix commit 7bbb4ff84f so it's backwards-compatible
2011-04-28 15:18:51 -05:00
Prathan Thananart
d19213177a
Added documentation for for-else
2011-04-28 13:11:13 +07:00
Prathan Thananart
caf59940d3
Added code to make for-else work
2011-04-28 13:07:41 +07:00
Prathan Thananart
8319d78c2e
Added a failing test case for for-else
2011-04-28 12:00:21 +07:00
Tobias Lütke
bc55c4d348
Merged pull request #34 from claco/date-epoch.
...
Epoch support
2011-04-25 09:03:30 -07:00
Tobias Lütke
017f0dc342
Merged pull request #53 from mhw/fix-stacklevelerror-test.
...
Fix behaviour of Context#stack when Context#push raises.
2011-04-25 09:00:00 -07:00
Tobias Lütke
ab556cbdd9
Merged pull request #54 from mhw/fix-drop-numeric-parameter.
...
Fix passing numeric parameter to drops
2011-04-25 08:59:10 -07:00
Tobias Lütke
82e4904403
Merged pull request #55 from ssoroka/master.
...
fixes failing test
2011-04-25 08:58:13 -07: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
Mark H. Wilkinson
aafb3ed9f2
Fix behaviour of Context#stack when Context#push raises.
...
We only want to pop the scope at the end of the method if pushing it
succeeded, so the push needs to be outside the block with the ensure.
2011-04-12 14:24:26 +01:00
Mark H. Wilkinson
935d3530af
Handle invoking drops for keys that are not strings.
...
For example, {{ pages[8] ... }} will result in the integer value 8 being
passed to invoke_drop.
2011-04-12 14:11:06 +01:00
Mark H. Wilkinson
662b2983fe
Failing test for integer drop lookup.
2011-04-12 14:09:43 +01:00
Mark H. Wilkinson
37a0fe213b
Fix text method name clash.
2011-04-12 13:47:27 +01:00
David Turnbull
7bbb4ff84f
Context is no longer lost when moving into a Liquid FileSystem.
2011-01-28 21:19:44 -05:00
Tobias Lütke
9926d86c91
Fix rake file, add rake benchmark:run
2011-01-28 21:18:07 -05:00
Tobias Lütke
9c49b8bbb2
improved benchmark suite
2011-01-28 21:16:22 -05:00
thedarkone
f7ff9c81d3
Make use of the Module#public_method_defined?.
2011-01-28 21:16:22 -05:00
thedarkone
a65c4f51bc
These are strings already.
2011-01-28 21:16:22 -05:00
thedarkone
a24049906b
Resolve literals faster.
2011-01-28 21:16:22 -05:00
thedarkone
aa678302d6
Fix comments.
2011-01-28 21:16:22 -05:00
thedarkone
6d0bb3303c
Clean-up Context#stack.
2011-01-28 21:16:22 -05:00
Austin Mills
4fec29f288
OPS-250 Modifying liquid error handling so that it no longer captures Exceptions that are not subclasses of StandardError (previously, it was rescuing things like Interrupt and NoMemoryError).
2011-01-10 14:55:05 -06:00
Christopher H. Laco
33ecb29d49
Update date to accept epoch
2010-11-07 20:41:41 -05:00
Michael Richardson
58e5820e7a
thought that these were turned off, removed
2010-09-03 10:54:29 -04:00
Michael Richardson
bb035d96e1
ignore backups
2010-09-02 09:46:21 -04:00
Michael Richardson
3919ff6bc3
renamed inc -> increment
...
added decrement as well (pre-decremented)
2010-09-02 09:41:43 -04:00
Michael Richardson
381b4f5268
adjusted test case to have third argument
2010-08-31 19:42:13 -04:00
Michael Richardson
97f18112b2
the variables should be stored in the normal environment, not in the register
2010-08-31 17:26:41 -04:00
Michael Richardson
ca2fa587cf
added tag to increment a variable each time it is referenced
2010-08-31 16:17:12 -04:00
DBA
0526348cae
Gemspec
...
- rewritten
2010-08-24 11:57:26 +08:00
Tobias Lütke
a3fb7ba2b3
Merge branch 'master' of github.com:tobi/liquid
...
Conflicts:
liquid.gemspec
2010-08-23 20:24:08 -04:00
Tobias Lütke
77cc0f2ed9
Version bump
2010-08-23 20:22:35 -04:00
DBA
3d43efe2bc
Ruby compatibility issues
...
- regexp engines are different from 1.8 to 1.9, fixed the literal shorthand regexp accordingly
- changed the shorthand regexp text from a match to a string scan
- test_helper now loads rubygems unless RUBY_VERSION is > 1.9
2010-08-24 08:17:42 +08:00
DBA
772233d881
Readme: pre to code
2010-08-24 08:17:42 +08:00
DBA
90d1bc26d8
History
...
- updated (2.2.0 & 2.2.1)
Manifest
- updated readme reference
Readme
- Converted to markdown
- cleaned up
Gemspec
- updated to 2.2.1
2010-08-24 08:17:42 +08:00
DBA
c00a650492
Literal
...
- added support for literals [closes #6 ]
Code beautifier
- indented some files
2010-08-24 08:17:42 +08:00
DBA
4819eb1a92
IF tag
...
- now properly allows operands to have conditions (eg and, or) [closes #13 ]
2010-08-24 08:17:41 +08:00
DBA
8579807d29
Conditions
...
- added test to assert that conditions can contain conditions within its value (eg 'a-and-b')
Tags
- indented the if tag
Tests
- added ruby-debug to the test_helper
- indented some tests
2010-08-24 08:17:41 +08:00
DBA
daf786fd28
Test Helper
...
- added assert_template_result_matches
- fixed indentation / white spacing
2010-08-24 08:17:41 +08:00
Tobias Lütke
101137045e
remove swp files
2010-08-22 13:33:26 -04:00
DBA
8a0a8cfd99
FiltersTest
...
- added test that asserts nonexistent filters are ignored
Liquid
- Bill's mind blowing liquid patch to support filter separators (|) in quoted strings (svn r7516).
- This is a consolidation effort based on newrelic's liquid fork commit 88a5b891d009054d56b994c9448725c74e2b1e13
2010-08-23 01:30:05 +08:00
DBA
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
DBA
c72c84ea9b
Tests
...
- Organized the files
- Cleaned up some of the white spacing issues
- A lot can still be done to make the tests more readable to the new developers
2010-08-23 01:30:01 +08:00
DBA
01145f872b
Test Helper
...
- Removed unnecessary test helper file. The file being used is helper.rb
2010-08-23 01:30:00 +08:00
DBA
5409814552
Code beautifier
...
- standard_filter_test.rb
2010-08-23 01:30:00 +08:00
DBA
2d9331a234
StandardFilters
...
- Ruby 1.9.2-rc changed the float precision, thus the tests are now more generic and backwards compatible.
2010-08-23 01:30:00 +08:00
DBA
c59cde9d17
Code beautifier
...
- standardfilters.rb
- standard_filter_test.rb
2010-08-23 01:30:00 +08:00
DBA
29e140b655
StandardFilters
...
- added escape_once, based on ActionView
2010-08-23 01:30:00 +08:00
DBA
a48332871a
Test helper
...
- extras path now uses File.join instead of string concatenation
- extras path is only loaded into $LOAD_PATH if it's not already part of it
2010-08-23 01:30:00 +08:00
DBA
bd7f867759
Code beautifier
...
- strainer_test.rb
2010-08-23 01:30:00 +08:00
DBA
8e4573a7bf
Strainer
...
- respond_to_missing? is now a required method
2010-08-23 01:29:59 +08:00
DBA
5425679a96
Rakefile
...
- Updated to run with Ruby 1.9.2-p0
- Fixed some indentations / white spacing
2010-08-23 01:29:59 +08:00