code-ruby 1.8.4 → 1.8.5

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: db2e3764ef913582377bf7eec05c2ff854a243e86669bcbf8e0f25b34ccba2f8
4
- data.tar.gz: 2294044a144455333e0c7cf83f1ffeb0b341eb7a38270babe533c64ebec9c692
3
+ metadata.gz: 2fece707e7c4b6ac1d7b25424dde96b9095c088b4f22a28e64af1b093b1a9a94
4
+ data.tar.gz: 960c8660fd9f5039ea34dec5b34d618da17b861e29a7b317ba4f701f5e6f2c26
5
5
  SHA512:
6
- metadata.gz: 774f3cc5a9a0f9e1ebce8d0153bd32740274f49ccd1a7e88c98b665a3bbfdb59671c83014fba45d9a468e021405b904a20aca0a38340a596f689363ef4edd014
7
- data.tar.gz: 179c0905bbb91a14b5109941a69a6109001645bfd7c04180f272c33a4ab601c22de455567f4449febbbb1badea67d64698cbc1c5fba5e1b549fcbb682338316d
6
+ metadata.gz: 8324362cd96bf8134b82cf175afd91a4ff3f44c21c2dcaa9ae47778e175d491bfa923859e9fd74f7fd2eeb316ab0685e6b06a167c6d9f6e9f30d344fd5d5860a
7
+ data.tar.gz: edb4cc8af5291c3778ea5eca8d95b420b4555a29298a5b1132b2a2adfd2d599c06e142f2b76607d54ca058ed35d9640744343416d4ef386944814681d29e47e4
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- code-ruby (1.8.4)
4
+ code-ruby (1.8.5)
5
5
  activesupport
6
6
  base64
7
7
  bigdecimal
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.8.4
1
+ 1.8.5
@@ -142,6 +142,9 @@ class Code
142
142
  when "<<", "append"
143
143
  sig(args) { Object }
144
144
  code_append(code_value)
145
+ when "+", "plus"
146
+ sig(args) { List.maybe }
147
+ code_arguments.any? ? code_plus(code_value) : code_self
145
148
  when "-", "minus"
146
149
  sig(args) { List }
147
150
  code_minus(code_value)
@@ -580,6 +583,12 @@ class Code
580
583
  self
581
584
  end
582
585
 
586
+ def code_plus(other)
587
+ code_other = other.to_code
588
+
589
+ List.new(raw + code_other.raw)
590
+ end
591
+
583
592
  def code_minus(other)
584
593
  code_other = other.to_code
585
594
 
@@ -3,7 +3,14 @@
3
3
  require "spec_helper"
4
4
 
5
5
  RSpec.describe Code::Object::List do
6
- [["[] == []", "true"], ["[1, 2, 3].sum", "6"]].each do |input, expected|
6
+ [
7
+ ["[] == []", "true"],
8
+ ["[1, 2, 3].sum", "6"],
9
+ ["[1, 2] + [3, 4]", "[1, 2, 3, 4]"],
10
+ ["[] + []", "[]"],
11
+ ["[1].any", "true"],
12
+ ["[].any", "false"]
13
+ ].each do |input, expected|
7
14
  it "#{input} == #{expected}" do
8
15
  expect(Code.evaluate(input)).to eq(Code.evaluate(expected))
9
16
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: code-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.4
4
+ version: 1.8.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dorian Marié