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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 003f6b787316f313dc1a044deb52b4fcc9a87ef0b00819784ab364dca840d567
4
- data.tar.gz: 5b9fd6980a44472f106e7e37b046d5abc896198f169896dedb8b58f41416986d
3
+ metadata.gz: 84400b205e22ad2023904cb71e30cab4812d79c966fd111fe3c0d880e3af0c66
4
+ data.tar.gz: 624ec57f20ed02bcaca7b4f2ff64854688f360e4736b70b179099ac6f8ecc397
5
5
  SHA512:
6
- metadata.gz: 243f501f9280e5394bcb861bf1689e365a9e43b925ab332fad4e1050c8c2aad9e03a6d76d86fb41e9273d4f935e2775fa7d2d5119b7cd938772daaa4ce6e9271
7
- data.tar.gz: 936b3241cd8bad53c819e02bfc6cac334433207ead739628eaeafd619d36544c60f71da9b6a888c218a83afb292b639eb8246b07efed84d4d436868936950c7a
6
+ metadata.gz: deb3fb00ba1a49c1749311fce614a3fa9f004c0ef1d483d5023fd5357c4fbed5d3d1c38ebe558dbf59b94e69ee260fdfef103e5982fcade8532259c60c55c828
7
+ data.tar.gz: e2155e1ee69d3cbc6b686b1f826db302731164240eb03188e9f6f9392628c6c995196e481c3ec334ee4174ea949d74083a9e81760f3f11f1068de12cd3c85d0a
data/CHANGELOG.md CHANGED
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [2.0.1]
11
+
12
+ ### Fixed
13
+
14
+ * Ability to dereference arrays at a specific index (#57)
15
+
10
16
  ## [2.0.0]
11
17
 
12
18
  ### Breaking Changes
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- flavour_saver (2.0.0)
4
+ flavour_saver (2.0.1)
5
5
  rltk (~> 2.2.0)
6
6
  tilt
7
7
 
@@ -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,:lit, :subexpr], :WHITE)
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
- nonempty_list(:object_path, :object, :object_sep)
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) }
@@ -1,3 +1,3 @@
1
1
  module FlavourSaver
2
- VERSION = "2.0.0"
2
+ VERSION = "2.0.1"
3
3
  end
@@ -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.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-02-17 00:00:00.000000000 Z
12
+ date: 2022-03-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake