ohler55 / oj

Optimized JSON
http://www.ohler.com/oj
MIT License
3.14k stars 251 forks source link

Hide method redefined warnings #875

Closed Rubyist007 closed 1 year ago

Rubyist007 commented 1 year ago

A few warning messages appear while using Oj.optimize_rails with $VERBOSE = true Here they are:

.../config/application.rb:23: warning: method redefined; discarding old create_id=
/Users/vasyldubinchyk/.rvm/gems/ruby-3.1.3/gems/json-2.6.2/lib/json/common.rb:120: warning: previous definition of create_id= was here
.../config/application.rb:23: warning: method redefined; discarding old create_id
/Users/vasyldubinchyk/.rvm/gems/ruby-3.1.3/gems/json-2.6.2/lib/json/common.rb:126: warning: previous definition of create_id was here
.../config/application.rb:23: warning: method redefined; discarding old dump
/Users/vasyldubinchyk/.rvm/gems/ruby-3.1.3/gems/json-2.6.2/lib/json/common.rb:631: warning: previous definition of dump was here
.../config/application.rb:23: warning: method redefined; discarding old dump
/Users/vasyldubinchyk/.rvm/gems/ruby-3.1.3/gems/json-2.6.2/lib/json/common.rb:631: warning: previous definition of dump was here
.../config/application.rb:23: warning: method redefined; discarding old load
/Users/vasyldubinchyk/.rvm/gems/ruby-3.1.3/gems/json-2.6.2/lib/json/common.rb:557: warning: previous definition of load was here
.../config/application.rb:23: warning: method redefined; discarding old recurse_proc
/Users/vasyldubinchyk/.rvm/gems/ruby-3.1.3/gems/json-2.6.2/lib/json/common.rb:575: warning: previous definition of recurse_proc was here
.../config/application.rb:23: warning: method redefined; discarding old recurse_proc
/Users/vasyldubinchyk/.rvm/gems/ruby-3.1.3/gems/json-2.6.2/lib/json/common.rb:575: warning: previous definition of recurse_proc was here
.../config/application.rb:23: warning: method redefined; discarding old []
/Users/vasyldubinchyk/.rvm/gems/ruby-3.1.3/gems/json-2.6.2/lib/json/common.rb:18: warning: previous definition of [] was here
.../config/application.rb:23: warning: method redefined; discarding old generate
/Users/vasyldubinchyk/.rvm/gems/ruby-3.1.3/gems/json-2.6.2/lib/json/common.rb:296: warning: previous definition of generate was here
.../config/application.rb:23: warning: method redefined; discarding old fast_generate
/Users/vasyldubinchyk/.rvm/gems/ruby-3.1.3/gems/json-2.6.2/lib/json/common.rb:335: warning: previous definition of fast_generate was here
.../config/application.rb:23: warning: method redefined; discarding old pretty_generate
/Users/vasyldubinchyk/.rvm/gems/ruby-3.1.3/gems/json-2.6.2/lib/json/common.rb:390: warning: previous definition of pretty_generate was here
.../config/application.rb:23: warning: method redefined; discarding old parse
.../config/application.rb:23: warning: method redefined; discarding old parse
.../config/application.rb:23: warning: method redefined; discarding old parse!
/Users/vasyldubinchyk/.rvm/gems/ruby-3.1.3/gems/json-2.6.2/lib/json/common.rb:230: warning: previous definition of parse! was here
.../config/application.rb:23: warning: method redefined; discarding old parse!
/Users/vasyldubinchyk/.rvm/gems/ruby-3.1.3/gems/json-2.6.2/lib/json/common.rb:230: warning: previous definition of parse! was here
.../config/application.rb:23: warning: method redefined; discarding old state

To fix this problem I suggest using the same method that used here: https://github.com/ohler55/oj/blob/8095883382b33b4468e997be62622545403ec3be/ext/oj/rails.c#L1041-L1062 https://github.com/ohler55/oj/blob/8095883382b33b4468e997be62622545403ec3be/ext/oj/rails.c#L1093-L1099

ohler55 commented 1 year ago

Thanks for the cleanup.