eleetscript 0.0.4a → 0.0.5a

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
  SHA1:
3
- metadata.gz: 3cb1ebbd98b6434ccb190f60658378512af2518c
4
- data.tar.gz: fef85a1f7e2f7d3ec4b981efff27d35ce24d0f1e
3
+ metadata.gz: 6592b211402069a77b1cb87ac79de4e59ff10ca0
4
+ data.tar.gz: ba84988290a04d41bbfecaf968c05b502f113ac6
5
5
  SHA512:
6
- metadata.gz: 471e214d21923f796f4c002564eb84f2bfcefead0c2ad66f471a546262bee9e070efb4cd71a8e4b96c126d47818daceeb7dce511e25245ec1c5271a2e3f7abeb
7
- data.tar.gz: 020541f88cd22b0d6fded353b322aa26e298a2a56b7c2683a3b43b075fa0e0bd09e0deabef92890307c2085a429da8a34ea4cb86d285a6da95ecb05335962735
6
+ metadata.gz: 786c5172c642d15baa3d089bb2c8467dc0c54f6daf4be8a475883fcabf0078cfc42a35bca4ce18e863a8d5f36aad6095abee7a308c7c635247387fc155e20274
7
+ data.tar.gz: 4009c330cc3708e6b5d80109a4c7ffb0e5260a92a8eeeaf21ef62fda8f6791016e8b6780f389116aeb946024294819eaae12dfd26a5b3aad50f0a5b9183f3fba
data/lib/engine/engine.rb CHANGED
@@ -15,7 +15,6 @@ module EleetScript
15
15
  def execute(code)
16
16
  begin
17
17
  to_ruby_value(@interpreter.eval(code))
18
- true
19
18
  rescue Exception => e
20
19
  false
21
20
  end
@@ -8,11 +8,18 @@ module EleetScript
8
8
  def call(method_name, args)
9
9
  if method_name.to_sym == :to_string
10
10
  method_name = :to_s
11
+ elsif method_name.to_sym == :class_name
12
+ return Values.to_eleet_value(@ruby_obj.class.name, @engine)
11
13
  end
12
14
  ruby_args = args.map { |arg| Values.to_ruby_value(arg, @engine) }
13
- if @ruby_obj.respond_to?(method_name)
14
- Values.to_eleet_value(@ruby_obj.send(method_name, *ruby_args), @engine)
15
+ block = if ruby_args.length > 0 && ruby_args.last.is_a?(RubyLambda)
16
+ ruby_args.pop
15
17
  else
18
+ nil
19
+ end
20
+ begin
21
+ Values.to_eleet_value(@ruby_obj.send(method_name, *ruby_args, &block), @engine)
22
+ rescue NoMethodError => e
16
23
  Values.to_eleet_value(@engine.get("nil"), @engine)
17
24
  end
18
25
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eleetscript
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4a
4
+ version: 0.0.5a
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brandon Buck