module RType::Helper::RObjDelegatable
Public Class Methods
included(klass)
click to toggle source
# File lib/r_type/helper/robj_delegatable.rb, line 10 def self.included(klass) klass.extend ClassMethods end
Public Instance Methods
==(obj)
click to toggle source
Calls superclass method
# File lib/r_type/helper/robj_delegatable.rb, line 52 def == obj if obj.is_a?(RObjDelegatable) self.robj == obj.robj || !!R['identical'].call(self, obj) else super end end
__getobj__()
click to toggle source
# File lib/r_type/helper/robj_delegatable.rb, line 14 def __getobj__ to_ruby end
as_r()
click to toggle source
# File lib/r_type/helper/robj_delegatable.rb, line 40 def as_r robj.as_r end
inspect()
click to toggle source
# File lib/r_type/helper/robj_delegatable.rb, line 48 def inspect "RType::#{(@robj || @ruby_obj).inspect}" end
robj()
click to toggle source
# File lib/r_type/helper/robj_delegatable.rb, line 18 def robj @robj ||= convert_ruby_to_robj.tap do |newobj| @ruby_obj = nil unless newobj.nil? end end
robj=(obj)
click to toggle source
# File lib/r_type/helper/robj_delegatable.rb, line 30 def robj= obj @ruby_obj = nil @robj = obj end
ruby_obj()
click to toggle source
# File lib/r_type/helper/robj_delegatable.rb, line 24 def ruby_obj @ruby_obj ||= convert_robj_to_ruby.tap do |newobj| @robj = nil unless newobj.nil? end end
ruby_obj=(obj)
click to toggle source
# File lib/r_type/helper/robj_delegatable.rb, line 35 def ruby_obj= obj @robj = nil @ruby_obj = obj end
to_ruby(mode = nil)
click to toggle source
# File lib/r_type/helper/robj_delegatable.rb, line 44 def to_ruby mode = nil ruby_obj end
Private Instance Methods
can_delegate_to_R?(*args)
click to toggle source
# File lib/r_type/helper/robj_delegatable.rb, line 73 def can_delegate_to_R? *args true end
convert_robj_to_ruby()
click to toggle source
# File lib/r_type/helper/robj_delegatable.rb, line 61 def convert_robj_to_ruby @robj.to_ruby(::RSRuby::BASIC_CONVERSION) end
convert_ruby_to_robj()
click to toggle source
# File lib/r_type/helper/robj_delegatable.rb, line 65 def convert_ruby_to_robj if @ruby_obj.respond_to?(:as_r) @ruby_obj.as_r.robj else R.assign('_tmp_var_for_rtype', @ruby_obj).robj end end