code-ruby 0.5.5 → 0.5.6

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: f36763f875625586b92b0e923f79a44179b70b090d9673bc5249636795d8db66
4
- data.tar.gz: d95cdb157fb3da9c59b18fc4f84808fe2368390a132e2be8b9e2bc6a20758503
3
+ metadata.gz: 0ec67f37dc432338ef23418046fd1b4672268351bbce19bc737793df2fef16c8
4
+ data.tar.gz: 1e92c9e186f0463109589f843862c01633af3cbcc6d12a6f916b7b40ddd641ed
5
5
  SHA512:
6
- metadata.gz: 1ff082f216e4f73b99ce64174599815862f466d6f2918dc4f653e3f518b6f2be1b5f5e1d38e1da8d2c37d14c05eb917ff3ed59b05e4417116f1ec1abc1cd938d
7
- data.tar.gz: 63bce33e3bbe8db8baf4ea842467f98aafc0470277d15665253cca727d29fcfc1e00b79f4f00b35c734937b15dbb17dbc0144b80ae526dbc5075d1b019249047
6
+ metadata.gz: 218135cc2e96e8d85609c3efe047d7aa716a3a87380dd60608bb4d2d107b44c86852362dcadeff7b18e35800dbbe172761d457d3bf039c2dae36fb8b3fa1358d
7
+ data.tar.gz: c44d215dcb56eb2f2357139e16c3cca8fe4e4ecff825dc62afec8625695c6f2f0634c428605e57461f73debd58c6d72a6a4f2fcb0a680cf76593df4edbd9d5a0
data/Gemfile.lock CHANGED
@@ -8,9 +8,9 @@ GIT
8
8
  PATH
9
9
  remote: .
10
10
  specs:
11
- code-ruby (0.5.4)
11
+ code-ruby (0.5.6)
12
12
  zeitwerk (~> 2)
13
- template-ruby (0.5.4)
13
+ template-ruby (0.5.6)
14
14
  zeitwerk (~> 2)
15
15
 
16
16
  GEM
data/lib/code/object.rb CHANGED
@@ -92,11 +92,11 @@ class Code
92
92
 
93
93
  def deep_dup(object)
94
94
  if object.is_a?(Array)
95
- object.map { |element| deep_dup(o) }
95
+ object.map { |element| deep_dup(element) }
96
96
  elsif object.is_a?(Hash)
97
97
  object.map { |key, value| [deep_dup(key), deep_dup(value)] }.to_h
98
98
  elsif object.is_a?(::Code::Object::List)
99
- ::Code::Object::List.new(object.raw.map { |element| deep_dup(o) })
99
+ ::Code::Object::List.new(object.raw.map { |element| deep_dup(element) })
100
100
  elsif object.is_a?(::Code::Object::Dictionnary)
101
101
  ::Code::Object::Dictionnary.new(
102
102
  object.raw.map { |key, value| [deep_dup(key), deep_dup(value)] }.to_h
@@ -1,3 +1,3 @@
1
1
  require_relative "../template"
2
2
 
3
- Template::Version = Gem::Version.new("0.5.5")
3
+ Template::Version = Gem::Version.new("0.5.6")
@@ -8,4 +8,22 @@ RSpec.describe "function" do
8
8
  it "works with downcase" do
9
9
  expect(Code.evaluate("downcase", "{ downcase: 1 }")).to eq(1)
10
10
  end
11
+
12
+ it "works with nested objects" do
13
+ expect(
14
+ Code.evaluate(
15
+ "items.first.title",
16
+ ruby: { items: [{ title: "Hello" }] }
17
+ )
18
+ ).to eq("Hello")
19
+ end
20
+
21
+ it "works with arrays" do
22
+ expect(
23
+ Code.evaluate(
24
+ "items.map { |item| item.title }",
25
+ ruby: { items: [{ title: "Hello" }] }
26
+ )
27
+ ).to eq(["Hello"])
28
+ end
11
29
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: code-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.5
4
+ version: 0.5.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dorian Marié
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-13 00:00:00.000000000 Z
11
+ date: 2023-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: zeitwerk