{"categories":["RUBY"],"description":"rb_obj_as_string VALUE rb_obj_as_string(obj) VALUE obj; { VALUE str; if (TYPE(obj) == T_STRING) { return obj; } str = rb_funcall(obj, id_to_s, 0); if (TYPE(str) != T_STRING) return rb_any_to_s(obj); if (OBJ_TAINTED(obj)) OBJ_TAINT(str); return str; } rb_string_value[_ptr] VALUE rb_string_value(ptr) \u2026","author_url":"https://blog.hatena.ne.jp/winebarrel/","height":"190","blog_title":"so what","provider_name":"Hatena Blog","blog_url":"https://so-wh.at/","title":" rb_obj_as_string / rb_string_value[_ptr]","image_url":null,"published":"2008-11-04 00:00:06","author_name":"winebarrel","version":"1.0","width":"100%","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fso-wh.at%2Fentry%2F20081104%2Fp2\" title=\" rb_obj_as_string / rb_string_value[_ptr] - so what\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","url":"https://so-wh.at/entry/20081104/p2","provider_url":"https://hatena.blog","type":"rich"}