flavour_saver 2.0.0 → 2.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/Gemfile.lock +1 -1
- data/lib/flavour_saver/parser.rb +13 -3
- data/lib/flavour_saver/version.rb +1 -1
- data/spec/acceptance/handlebars_qunit_spec.rb +15 -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: 84400b205e22ad2023904cb71e30cab4812d79c966fd111fe3c0d880e3af0c66
|
4
|
+
data.tar.gz: 624ec57f20ed02bcaca7b4f2ff64854688f360e4736b70b179099ac6f8ecc397
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: deb3fb00ba1a49c1749311fce614a3fa9f004c0ef1d483d5023fd5357c4fbed5d3d1c38ebe558dbf59b94e69ee260fdfef103e5982fcade8532259c60c55c828
|
7
|
+
data.tar.gz: e2155e1ee69d3cbc6b686b1f826db302731164240eb03188e9f6f9392628c6c995196e481c3ec334ee4174ea949d74083a9e81760f3f11f1068de12cd3c85d0a
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
data/lib/flavour_saver/parser.rb
CHANGED
@@ -128,8 +128,8 @@ module FlavourSaver
|
|
128
128
|
clause('argument_list WHITE hash') { |e0,_,e1| e0 + [e1] }
|
129
129
|
clause('hash') { |e| [e] }
|
130
130
|
end
|
131
|
-
|
132
|
-
nonempty_list(:argument_list, [:object_path
|
131
|
+
|
132
|
+
nonempty_list(:argument_list, [:object_path, :lit, :subexpr], :WHITE)
|
133
133
|
|
134
134
|
production(:lit) do
|
135
135
|
clause('string') { |e| e }
|
@@ -167,7 +167,17 @@ module FlavourSaver
|
|
167
167
|
clause('FWSL') { |_| }
|
168
168
|
end
|
169
169
|
|
170
|
-
|
170
|
+
production(:object_path) do
|
171
|
+
clause('object') { |e| [e] }
|
172
|
+
clause('object_path object_sep object') { |e0,_,e1| e0 + [e1] }
|
173
|
+
|
174
|
+
# Accomodates objects dereferenced with a number like foo.0.text
|
175
|
+
clause('object_path object_sep number_object') { |e0,_,e1| e0 + [e1] }
|
176
|
+
end
|
177
|
+
|
178
|
+
production(:number_object) do
|
179
|
+
clause('NUMBER') { |e| LiteralCallNode.new(e, []) }
|
180
|
+
end
|
171
181
|
|
172
182
|
production(:object) do
|
173
183
|
clause('AT IDENT') { |_,e| LocalVarNode.new(e) }
|
@@ -406,6 +406,21 @@ describe FlavourSaver do
|
|
406
406
|
end
|
407
407
|
end
|
408
408
|
|
409
|
+
describe 'array with numeric dereference' do
|
410
|
+
let(:template) {"{{goodbyes.0.text}} cruel {{world}}!"}
|
411
|
+
|
412
|
+
it 'properly inserts the referenced element' do
|
413
|
+
goodbyes = []
|
414
|
+
goodbyes << double(:goodbye)
|
415
|
+
expect(goodbyes[0]).to receive(:text).and_return('goodbye')
|
416
|
+
|
417
|
+
allow(context).to receive(:goodbyes).and_return(goodbyes)
|
418
|
+
allow(context).to receive(:world).and_return('world')
|
419
|
+
|
420
|
+
expect(subject).to eq "goodbye cruel world!"
|
421
|
+
end
|
422
|
+
end
|
423
|
+
|
409
424
|
describe 'empty block' do
|
410
425
|
let(:template) { "{{#goodbyes}}{{/goodbyes}}cruel {{world}}!" }
|
411
426
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flavour_saver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Clayton Passmore
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2022-
|
12
|
+
date: 2022-03-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|