class EleetScript::EleetToRubyWrapper

Public Class Methods

new(eleet_obj, engine) click to toggle source
# File lib/engine/eleet_to_ruby_wrapper.rb, line 3
def initialize(eleet_obj, engine)
  @eleet_obj = eleet_obj
  @engine = engine
end

Public Instance Methods

call(method, *args, &block) click to toggle source
# File lib/engine/eleet_to_ruby_wrapper.rb, line 8
def call(method, *args, &block)
  eleet_args = args.map { |a| to_eleet_value(a) }
  eleet_args << to_eleet_value(block) if block_given?
  to_ruby_value(@eleet_obj.call(method, eleet_args))
end
class(orig = false) click to toggle source
Calls superclass method
# File lib/engine/eleet_to_ruby_wrapper.rb, line 26
def class(orig = false)
  if orig
    super
  else
    call(:class_ref)
  end
end
inspect() click to toggle source
# File lib/engine/eleet_to_ruby_wrapper.rb, line 51
def inspect
  "<EleetToRubyWrapper wrapping=#{call(:class_name)}>"
end
method_missing(name, *args, &block) click to toggle source
# File lib/engine/eleet_to_ruby_wrapper.rb, line 14
def method_missing(name, *args, &block)
  if args && args.length > 0
    call(name, *args, &block)
  else
    call(name, &block)
  end
end
raw() click to toggle source
# File lib/engine/eleet_to_ruby_wrapper.rb, line 22
def raw
  @eleet_obj
end
to_h() click to toggle source
# File lib/engine/eleet_to_ruby_wrapper.rb, line 34
def to_h
  if call(:responds_to?, :to_list)
    list_hash = call(:to_list).raw.ruby_value.to_h
    {}.tap do |hash|
      list_hash.each do |key, value|
        hash[to_ruby_value(key)] = to_ruby_value(value)
      end
    end
  else
    {}
  end
end
to_s() click to toggle source
# File lib/engine/eleet_to_ruby_wrapper.rb, line 47
def to_s
  call(:to_string)
end

Protected Instance Methods

to_eleet_value(ruby_val) click to toggle source
# File lib/engine/eleet_to_ruby_wrapper.rb, line 61
def to_eleet_value(ruby_val)
  Values.to_eleet_value(ruby_val, @engine)
end
to_ruby_value(eleet_val) click to toggle source
# File lib/engine/eleet_to_ruby_wrapper.rb, line 57
def to_ruby_value(eleet_val)
  Values.to_ruby_value(eleet_val, @engine)
end