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