language-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: 0d1f823779fa3988a81d38592f61fdf2c741169cd4d676a6865de6e39c9cb063
4
- data.tar.gz: d95cdb157fb3da9c59b18fc4f84808fe2368390a132e2be8b9e2bc6a20758503
3
+ metadata.gz: 1ffefd2b6b98738fdb6cca491d3e66d49954089665ee0c549c9fbaa72c44c6de
4
+ data.tar.gz: 3bebdecdd1017fb28756407d7c759739a92c7367d2da1c0184b2c992412b065f
5
5
  SHA512:
6
- metadata.gz: 116fdcc420c21f19456a52a7d5a1ddf4d5c51a8c83e43522c03eaf7855c48d333d7077014bac0bc30afb6a49521d057183f449acaa867597ac67bba1d89c93a0
7
- data.tar.gz: 63bce33e3bbe8db8baf4ea842467f98aafc0470277d15665253cca727d29fcfc1e00b79f4f00b35c734937b15dbb17dbc0144b80ae526dbc5075d1b019249047
6
+ metadata.gz: 838a0152426d4e052b4a2349dbafded5dbb38f003a1854920a99180a8b215234e2b460d40623d9c02a929ffc3b61b8d42363fa4db81eb418cc073ac26ddfb83e
7
+ data.tar.gz: 28ed842cf8c9cbfbe624b2f4bfadaa256cbf3472210949d023a7e915a73e1ace1447d67d1c117ef403b94f5c0d76b24569105dc27753ac4777c79ed40d7a863a
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: language-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