From 3fc00bc3605bdb1ab616f816e6d8ed219b45f861 Mon Sep 17 00:00:00 2001 From: kojix2 <2xijok@gmail.com> Date: Mon, 11 Aug 2025 20:32:40 +0900 Subject: [PATCH] Remove MultiJson dependency and replace with JSON --- iruby.gemspec | 1 - lib/iruby.rb | 2 +- lib/iruby/input/form.rb | 4 ++-- lib/iruby/kernel.rb | 2 +- lib/iruby/session/mixin.rb | 16 ++++++++-------- test/helper.rb | 1 - 6 files changed, 12 insertions(+), 14 deletions(-) diff --git a/iruby.gemspec b/iruby.gemspec index c658ce4..6b871d6 100644 --- a/iruby.gemspec +++ b/iruby.gemspec @@ -23,7 +23,6 @@ Gem::Specification.new do |s| s.add_dependency 'irb' s.add_dependency 'logger' s.add_dependency 'mime-types', '>= 3.3.1' - s.add_dependency 'multi_json', '~> 1.11' s.add_development_dependency 'pycall', '>= 1.2.1' s.add_development_dependency 'rake' diff --git a/lib/iruby.rb b/lib/iruby.rb index f4681c5..2710251 100644 --- a/lib/iruby.rb +++ b/lib/iruby.rb @@ -1,6 +1,6 @@ require 'fileutils' require 'mime/types' -require 'multi_json' +require 'json' require 'securerandom' require 'openssl' require 'tempfile' diff --git a/lib/iruby/input/form.rb b/lib/iruby/input/form.rb index 4ecf22b..05c22de 100644 --- a/lib/iruby/input/form.rb +++ b/lib/iruby/input/form.rb @@ -63,7 +63,7 @@ def widget_html end def submit - result = MultiJson.load(Kernel.instance.session.recv_input) + result = JSON.parse(Kernel.instance.session.recv_input) unless result.has_key? @id submit @@ -74,4 +74,4 @@ def submit end end end -end \ No newline at end of file +end diff --git a/lib/iruby/kernel.rb b/lib/iruby/kernel.rb index c1c1a91..93b4ffc 100644 --- a/lib/iruby/kernel.rb +++ b/lib/iruby/kernel.rb @@ -38,7 +38,7 @@ class << self ].freeze def initialize(config_file, session_adapter_name=nil) - @config = MultiJson.load(File.read(config_file)) + @config = JSON.parse(File.read(config_file)) IRuby.logger.debug("IRuby kernel start with config #{@config}") Kernel.instance = self diff --git a/lib/iruby/session/mixin.rb b/lib/iruby/session/mixin.rb index 3ddd06c..4d189e5 100644 --- a/lib/iruby/session/mixin.rb +++ b/lib/iruby/session/mixin.rb @@ -5,10 +5,10 @@ module SessionSerialize private def serialize(idents, header, metadata = nil, content) - msg = [MultiJson.dump(header), - MultiJson.dump(@last_recvd_msg ? @last_recvd_msg[:header] : {}), - MultiJson.dump(metadata || {}), - MultiJson.dump(content || {})] + msg = [JSON.generate(header), + JSON.generate(@last_recvd_msg ? @last_recvd_msg[:header] : {}), + JSON.generate(metadata || {}), + JSON.generate(content || {})] frames = ([*idents].compact.map(&:to_s) << DELIM << sign(msg)) + msg IRuby.logger.debug "Sent #{frames.inspect}" frames @@ -28,10 +28,10 @@ def unserialize(msg) raise 'Invalid signature' unless s == sign(msg_list[1..-1]) { idents: idents, - header: MultiJson.load(header), - parent_header: MultiJson.load(parent_header), - metadata: MultiJson.load(metadata), - content: MultiJson.load(content), + header: JSON.parse(header), + parent_header: JSON.parse(parent_header), + metadata: JSON.parse(metadata), + content: JSON.parse(content), buffers: buffers } end diff --git a/test/helper.rb b/test/helper.rb index 10c035f..5eadc1c 100644 --- a/test/helper.rb +++ b/test/helper.rb @@ -1,6 +1,5 @@ require "iruby" require "json" -require 'multi_json' require "pathname" require "rbconfig" require "test/unit"