Module: PyCall::Conversion
- Defined in:
- ext/pycall/pycall.c
Class Method Summary collapse
- .from_ruby(obj) ⇒ Object
- .register_python_type_mapping(pytypeptr, rbcls) ⇒ Object
- .to_ruby(pyptr) ⇒ Object
- .unregister_python_type_mapping(pytypeptr) ⇒ Object
Class Method Details
.from_ruby(obj) ⇒ Object
1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 |
# File 'ext/pycall/pycall.c', line 1885 static VALUE pycall_conv_m_from_ruby(VALUE mod, VALUE obj) { PyObject *pyobj; pycall_drain_pending_decrefs(); pyobj = pycall_pyobject_from_ruby(obj); if (PyType_Check(pyobj) || PyClass_Check(pyobj)) return pycall_pytypeptr_new(pyobj); if (PyRuby_Check(pyobj)) return pycall_pyrubyptr_new(pyobj); return pycall_pyptr_new(pyobj); } |
.register_python_type_mapping(pytypeptr, rbcls) ⇒ Object
1873 1874 1875 1876 1877 |
# File 'ext/pycall/pycall.c', line 1873 static VALUE pycall_conv_m_register_python_type_mapping(VALUE mod, VALUE pytypeptr, VALUE rbcls) { return pycall_python_type_mapping_register(pytypeptr, rbcls) ? Qtrue : Qfalse; } |
.to_ruby(pyptr) ⇒ Object
1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 |
# File 'ext/pycall/pycall.c', line 1900 static VALUE pycall_conv_m_to_ruby(VALUE mod, VALUE pyptr) { VALUE obj, obj_pyptr; PyObject *pyobj; pycall_drain_pending_decrefs(); pyobj = check_get_pyobj_ptr(pyptr, NULL); obj = obj_pyptr = pycall_pyobject_to_ruby(pyobj); if (is_pyobject_wrapper(obj)) { obj_pyptr = pycall_pyobject_wrapper_get_pyptr(obj); } if (is_pycall_pyptr(obj_pyptr) && obj_pyptr != pyptr && DATA_PTR(obj_pyptr) == pyobj) { Py_API(Py_IncRef)(pyobj); } return obj; } |
.unregister_python_type_mapping(pytypeptr) ⇒ Object
1879 1880 1881 1882 1883 |
# File 'ext/pycall/pycall.c', line 1879 static VALUE pycall_conv_m_unregister_python_type_mapping(VALUE mod, VALUE pytypeptr) { return pycall_python_type_mapping_unregister(pytypeptr) ? Qtrue : Qfalse; } |