flavour_saver 2.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|