code-ruby 0.5.5 → 0.5.6

Sign up to get free protection for your applications and to get access to all the features.
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