smolbars 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/smolbars/context.rb +3 -6
- data/lib/smolbars/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 40d10c7406cd516218824c76f8a4fac9ba3c6caaa7002b30519943d64adc6857
|
4
|
+
data.tar.gz: 0d27753a31290273c8174e3d5e4270f50a819bd00d03c6d0d75785f4efa9c424
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fa466da75da4abe7376b214290c873e07702cacc398636742c2e5db8aec1bfbeab68b3af0a24ea13e40d5a122671b8601ee3550ac9da9cfbae221d78717c8015
|
7
|
+
data.tar.gz: 42d12dbd05de3d84757e5553b43dc651c15e13a5f4144e74d5694bab388201e61ec1546b85e57d074fd8cf6bf4a193e69939d40d789c16725ba650a1d545ad94
|
data/lib/smolbars/context.rb
CHANGED
@@ -5,19 +5,16 @@ require 'securerandom'
|
|
5
5
|
module Smolbars
|
6
6
|
class Context
|
7
7
|
def initialize(**kwargs)
|
8
|
-
|
9
|
-
@js
|
8
|
+
@js = MiniRacer::Context.new(kwargs)
|
9
|
+
@js.load(Handlebars::Source.bundled_path)
|
10
10
|
end
|
11
11
|
|
12
12
|
# Note that this is a hacky JS expression builder. We cannot pass JS AST in to mini_racer so we have to
|
13
13
|
# hope the template passed in does not form invalid Ruby. So don't use templates with backtick characters without
|
14
14
|
# manually escaping them
|
15
15
|
def compile(template)
|
16
|
-
if template.include?("`")
|
17
|
-
raise RuntimeError.new("template cannot contain a backtick character '`'")
|
18
|
-
end
|
19
16
|
handle = fn_handle
|
20
|
-
invocation = %Q{var #{handle} = Handlebars.compile(`#{template}`);}
|
17
|
+
invocation = %Q{var #{handle} = Handlebars.compile(`#{template.gsub('`', "\`")}`);}
|
21
18
|
@js.eval(invocation)
|
22
19
|
::Smolbars::Template.new(self, handle)
|
23
20
|
end
|
data/lib/smolbars/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: smolbars
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Charles Lowell
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2022-
|
12
|
+
date: 2022-04-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: mini_racer
|
@@ -98,7 +98,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
98
98
|
- !ruby/object:Gem::Version
|
99
99
|
version: '0'
|
100
100
|
requirements: []
|
101
|
-
rubygems_version: 3.
|
101
|
+
rubygems_version: 3.2.22
|
102
102
|
signing_key:
|
103
103
|
specification_version: 4
|
104
104
|
summary: Ruby bindings for the smolbars.js templating library
|