@@ -5,36 +5,34 @@ module PyCall
55 module IRubyHelper
66 private
77
8- def check_pyobject_respond_to_format_method ( obj , method_name )
9- return false unless obj . kind_of? PyObject
10- return false unless PyCall . hasattr? ( obj , method_name )
11- PyCall . getattr ( obj , method_name ) . kind_of? PyCall :: LibPython . PyMethod_Type
8+ def check_python_object_respond_to_format_method ( obj , method_name )
9+ return false unless obj . kind_of? PyObjectWrapper
10+ return false unless obj . respond_to? method_name
11+ true
1212 end
1313
14- def register_pyobject_formatter ( format_name , mime , priority_value = 0 )
14+ def register_python_object_formatter ( format_name , mime , priority_value = 0 )
1515 method_name = :"_repr_#{ format_name } _"
1616 match do |obj |
17- check_pyobject_respond_to_format_method ( obj , method_name )
17+ check_python_object_respond_to_format_method ( obj , method_name )
1818 end
1919 priority priority_value
20- format mime do |obj |
21- PyCall . getattr ( obj , method_name ) . ( )
22- end
20+ format mime , &method_name
2321 end
2422 end
2523end
2624
2725::IRuby ::Display ::Registry . module_eval do
2826 extend PyCall ::IRubyHelper
2927
30- register_pyobject_formatter :html , 'text/html'
31- register_pyobject_formatter :markdown , 'text/markdown'
32- register_pyobject_formatter :svg , 'image/svg+xml'
33- register_pyobject_formatter :png , 'image/png'
34- register_pyobject_formatter :jpeg , 'image/jpeg'
35- register_pyobject_formatter :latex , 'text/latex'
36- register_pyobject_formatter :json , 'application/json'
37- register_pyobject_formatter :javascript , 'application/javascript'
38- register_pyobject_formatter :pdf , 'application/pdf'
39- register_pyobject_formatter :pretty , 'text/plain' , -1000
28+ register_python_object_formatter :html , 'text/html' , 1
29+ register_python_object_formatter :markdown , 'text/markdown' , 1
30+ register_python_object_formatter :svg , 'image/svg+xml' , 1
31+ register_python_object_formatter :png , 'image/png' , 1
32+ register_python_object_formatter :jpeg , 'image/jpeg' , 1
33+ register_python_object_formatter :latex , 'text/latex' , 1
34+ register_python_object_formatter :json , 'application/json' , 1
35+ register_python_object_formatter :javascript , 'application/javascript' , 1
36+ register_python_object_formatter :pdf , 'application/pdf' , 1
37+ register_python_object_formatter :pretty , 'text/plain' , -1000
4038end
0 commit comments