wexpr 0.1.4 → 0.1.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: 78348b4a80be320840f028bf01c5632ac52ecfc91cca05edd7421069bb9bc1ea
4
- data.tar.gz: 32e59135983d7929c14b9c31d4bdb6e1cff0c85e2b7cf36bfb64812390b31b94
3
+ metadata.gz: fb137f82e5ce0df3bc01eeef752306037f9d954cd0b932f0b4d33a09ced8790a
4
+ data.tar.gz: 5dc50feec919b6c33aedf3085032dd913bf459a767c89f6e6777413931b1b9cf
5
5
  SHA512:
6
- metadata.gz: 0c0477364d15c3181de3d2cec2c628f450e078e39dd2baead8a12676bbd8949363912c0829bcb95d86787fb74a3b16ef3a695e353f34c8a28cc3ecfa5041dfd6
7
- data.tar.gz: d86ecd06f98cbf16e654c1c1e7a905fd5a4976b19f79c6f5b25e75601e99a7921c6f8d236c320de851b19ab0aad556116356d70f5f687b62ebcf780b40d514e9
6
+ metadata.gz: accc6c25a9a27e0ccfb83d8e0d8231a1e644d6ed63925be277b23427877895e9d5831c0fffcdec5db0f72c028cfe5b01f74516edffa0cece4840b8f49e8a2546
7
+ data.tar.gz: 691cb77e3b8cb21eef9c76954cba54dbf37d2efeecac94087d570fddd36f2868ed455e1ac6377208f0d6e823fd6f790a9be6457e9b11fef3ffe930933ab11fac
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- wexpr (0.1.4)
4
+ wexpr (0.1.5)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/lib/wexpr.rb CHANGED
@@ -21,12 +21,16 @@ module Wexpr
21
21
 
22
22
  #
23
23
  # Emit a hash as the equivilant wexpr string, human readable or not.
24
- # See possible writeflags in Expression.
24
+ # See possible writeflags in Expression. We also support :returnAsExpression which will return the expression, and not the string (for internal use).
25
25
  #
26
26
  def self.dump(variable, writeFlags=[])
27
27
  # first step, go through the variable and create the equivilant wexpr expressions
28
28
  expr = Expression::create_from_ruby(variable)
29
29
 
30
+ if writeFlags.include? :returnAsExpression
31
+ return expr
32
+ end
33
+
30
34
  # then have it write out the string
31
35
  return expr.create_string_representation(0, writeFlags)
32
36
  end
@@ -170,8 +170,15 @@ module Wexpr
170
170
  end
171
171
 
172
172
  else
173
- # might be a number or something else, to_s it
174
- return Expression.create_value(variable.to_s)
173
+ # see if we support to_wexpr
174
+ # if so, decode it with :returnAsExpression
175
+ if variable.class.method_defined?(:to_wexpr) && variable.method(:to_wexpr).owner != Object
176
+ # use that method
177
+ return variable.to_wexpr([:returnAsExpression])
178
+ else
179
+ # might be a number or something else, to_s it
180
+ return Expression.create_value(variable.to_s)
181
+ end
175
182
  end
176
183
  end
177
184
 
data/lib/wexpr/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Wexpr
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.5"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wexpr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kenneth Perry (thothonegan)
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-02-06 00:00:00.000000000 Z
11
+ date: 2020-02-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler