Skip to content

Commit 3a00e85

Browse files
authored
hide method redefined warnings (#875)
1 parent 6dd6fbd commit 3a00e85

1 file changed

Lines changed: 20 additions & 0 deletions

File tree

ext/oj/mimic_json.c

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -791,28 +791,48 @@ void oj_mimic_json_methods(VALUE json) {
791791
VALUE json_error;
792792
VALUE generator;
793793
VALUE ext;
794+
VALUE verbose;
794795

796+
// rb_undef_method doesn't work for modules or maybe sometimes
797+
// doesn't. Anyway setting verbose should hide the warning.
798+
verbose = rb_gv_get("$VERBOSE");
799+
rb_gv_set("$VERBOSE", Qfalse);
800+
801+
rb_undef_method(json, "create_id=");
795802
rb_define_module_function(json, "create_id=", mimic_set_create_id, 1);
803+
rb_undef_method(json, "create_id");
796804
rb_define_module_function(json, "create_id", mimic_create_id, 0);
797805

806+
rb_undef_method(json, "dump");
798807
rb_define_module_function(json, "dump", mimic_dump, -1);
808+
rb_undef_method(json, "load");
799809
rb_define_module_function(json, "load", mimic_load, -1);
800810
rb_define_module_function(json, "restore", mimic_load, -1);
811+
rb_undef_method(json, "recurse_proc");
801812
rb_define_module_function(json, "recurse_proc", mimic_recurse_proc, 1);
813+
rb_undef_method(json, "[]");
802814
rb_define_module_function(json, "[]", mimic_dump_load, -1);
803815

816+
rb_undef_method(json, "generate");
804817
rb_define_module_function(json, "generate", oj_mimic_generate, -1);
818+
rb_undef_method(json, "fast_generate");
805819
rb_define_module_function(json, "fast_generate", oj_mimic_generate, -1);
820+
rb_undef_method(json, "pretty_generate");
806821
rb_define_module_function(json, "pretty_generate", oj_mimic_pretty_generate, -1);
807822
// For older versions of JSON, the deprecated unparse methods.
823+
rb_undef_method(json, "unparse");
808824
rb_define_module_function(json, "unparse", oj_mimic_generate, -1);
809825
rb_define_module_function(json, "fast_unparse", oj_mimic_generate, -1);
810826
rb_define_module_function(json, "pretty_unparse", oj_mimic_pretty_generate, -1);
811827

828+
rb_undef_method(json, "parse");
812829
rb_define_module_function(json, "parse", oj_mimic_parse, -1);
830+
rb_undef_method(json, "parse!");
813831
rb_define_module_function(json, "parse!", mimic_parse_bang, -1);
814832

833+
rb_undef_method(json, "state");
815834
rb_define_module_function(json, "state", mimic_state, 0);
835+
rb_gv_set("$VERBOSE", verbose);
816836

817837
if (rb_const_defined_at(json, rb_intern("JSONError"))) {
818838
json_error = rb_const_get(json, rb_intern("JSONError"));

0 commit comments

Comments
 (0)