simple-liquid 1.0.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/simple/liquid.rb +8 -6
- data/test/simple/liquid_test.rb +17 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ef3c4aefe205a2e6ec7bded3c6add89b03f588c2c397635c4e8d492f2dbf5341
|
4
|
+
data.tar.gz: 0aa86312f4647c6205d46a9783abfd12a0d0ebce5f5860451fd2ec53bee29769
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ca4921f2df207d54931a442b091336f22b93ca8727744a35acb49a76050370af38543e9321320b69e6f7533c14e5332d6b4331c82646c6514ca7fa13cb471ae7
|
7
|
+
data.tar.gz: 0b366c6d81a2068b1150f280efa00a33c1a1786df5b0b19c5fe7a73c009910001ae82a3905254eb7617d68cf7b70f44e97c41c253a3238c620fa45ee6a52f531
|
data/lib/simple/liquid.rb
CHANGED
@@ -7,17 +7,18 @@ class Simple::Liquid
|
|
7
7
|
class Error < RuntimeError
|
8
8
|
end
|
9
9
|
|
10
|
-
VERSION = '1.
|
10
|
+
VERSION = '1.1.0'
|
11
11
|
|
12
|
-
attr_reader :template, :object
|
12
|
+
attr_reader :template, :object, :filters
|
13
13
|
|
14
|
-
def initialize(template, object = {})
|
14
|
+
def initialize(template, object = {}, filters = [])
|
15
15
|
@template = template
|
16
16
|
@object = deep_stringify_keys(object.to_h)
|
17
|
+
@filters = filters
|
17
18
|
end
|
18
19
|
|
19
|
-
def self.render(template, object = {})
|
20
|
-
new(template, object).render
|
20
|
+
def self.render(template, object = {}, filters = [])
|
21
|
+
new(template, object, filters).render
|
21
22
|
end
|
22
23
|
|
23
24
|
def liquid_template
|
@@ -28,7 +29,8 @@ class Simple::Liquid
|
|
28
29
|
liquid_template.render(
|
29
30
|
object,
|
30
31
|
strict_variables: true,
|
31
|
-
strict_filters: true
|
32
|
+
strict_filters: true,
|
33
|
+
filters: filters
|
32
34
|
).tap { raise_if_errors! }
|
33
35
|
end
|
34
36
|
|
data/test/simple/liquid_test.rb
CHANGED
@@ -49,4 +49,21 @@ class TestSimpleLiquid < Minitest::Test
|
|
49
49
|
Simple::Liquid.render("{{ d | oops }}", @object)
|
50
50
|
end
|
51
51
|
end
|
52
|
+
|
53
|
+
it do
|
54
|
+
module MyPlusFilter
|
55
|
+
def my_plus(original, value)
|
56
|
+
original.to_i + value.to_i
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
assert_equal(
|
61
|
+
"2",
|
62
|
+
Simple::Liquid.render(
|
63
|
+
"{{ a | my_plus: 1 }}",
|
64
|
+
{ a: 1 },
|
65
|
+
[MyPlusFilter]
|
66
|
+
)
|
67
|
+
)
|
68
|
+
end
|
52
69
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple-liquid
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- localhostdotdev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-04-
|
11
|
+
date: 2019-04-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: liquid
|