delorean_lang 0.3.25 → 0.3.26
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 +4 -4
- data/lib/delorean/base.rb +14 -6
- data/lib/delorean/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5085bb6c2a013879d9352228d1d88ed4b877f65c
|
|
4
|
+
data.tar.gz: 74ed652e5794937673406b1f1e47412eee1701ac
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: dd2bca3f1026949d7701e16b26deda862db00aca13242160f8ef48d7a4e1cb7aaf6e77fcfdce126688bf33f5f06a7aac7c7df528bb6924c40846b8817b13ff01
|
|
7
|
+
data.tar.gz: 60a4c75f4dcac87ac083bffb1fea1a4ef8997177b4703e26e01589260a7036e23ba3db0700aef4732cbd3e83b1bdc8c322c78a8e33b392f6977bd35084083402
|
data/lib/delorean/base.rb
CHANGED
|
@@ -125,6 +125,20 @@ module Delorean
|
|
|
125
125
|
|
|
126
126
|
class BaseClass
|
|
127
127
|
def self._get_attr(obj, attr, _e)
|
|
128
|
+
# REALLY FIXME: this really needs to be another "when" in the
|
|
129
|
+
# case statement below. However, Gemini appears to create Hash
|
|
130
|
+
# objects when running Delorean modules in delayed jobs that
|
|
131
|
+
# return true when we called obj.instance_of?(Hash) and do not
|
|
132
|
+
# work with the "case/when" matcher!!! For now, this is a
|
|
133
|
+
# hacky workaround. This is likely some sort of Ruby bug.
|
|
134
|
+
if obj.instance_of?(Hash)
|
|
135
|
+
# FIXME: this implementation doesn't handle something like
|
|
136
|
+
# {}.length. i.e. length is a whitelisted function, but not
|
|
137
|
+
# an attr. This implementation returns nil instead of 0.
|
|
138
|
+
return obj[attr] if obj.member?(attr)
|
|
139
|
+
return attr.is_a?(String) ? obj[attr.to_sym] : nil
|
|
140
|
+
end
|
|
141
|
+
|
|
128
142
|
# NOTE: should keep this function consistent with _index
|
|
129
143
|
case obj
|
|
130
144
|
when nil
|
|
@@ -136,12 +150,6 @@ module Delorean
|
|
|
136
150
|
return obj.send(attr.to_sym) if obj.class.reflections[attr]
|
|
137
151
|
when NodeCall
|
|
138
152
|
return obj.evaluate(attr)
|
|
139
|
-
when Hash
|
|
140
|
-
# FIXME: this implementation doesn't handle something like
|
|
141
|
-
# {}.length. i.e. length is a whitelisted function, but not
|
|
142
|
-
# an attr. This implementation returns nil instead of 0.
|
|
143
|
-
return obj[attr] if obj.member?(attr)
|
|
144
|
-
return attr.is_a?(String) ? obj[attr.to_sym] : nil
|
|
145
153
|
when Class
|
|
146
154
|
return obj.send((attr + POST).to_sym, _e) if obj < BaseClass
|
|
147
155
|
end
|
data/lib/delorean/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: delorean_lang
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.3.
|
|
4
|
+
version: 0.3.26
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Arman Bostani
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2017-08-
|
|
11
|
+
date: 2017-08-14 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: treetop
|