diff --git a/lib/rex/server.rb b/lib/rex/server.rb index fb8c54f..c24891f 100644 --- a/lib/rex/server.rb +++ b/lib/rex/server.rb @@ -11,6 +11,8 @@ require_relative "server/matching_engine" require_relative "server/message_broker" require_relative "server/message_processor" require_relative "server/websocket_server" + +require_relative "server/json_message_serializer" module Rex module Server VERSION = "0.1.0" diff --git a/lib/rex/server/json_message_serializer.rb b/lib/rex/server/json_message_serializer.rb new file mode 100644 index 0000000..003e81f --- /dev/null +++ b/lib/rex/server/json_message_serializer.rb @@ -0,0 +1,22 @@ +module Rex + module Server + class JsonMessageSerializer + def serialize(obj) + obj = if obj.is_a?(Array) + { + type: "response", + name: "validation.errors", + data: obj.map(&:to_h) + } + else + { + type: "response", + name: obj.class.name.split("::").last, + data: obj.to_h + } + end + obj.to_json + end + end + end +end