feat(sdk): add Java and Ruby SDK wrappers over C FFI
Java SDK: JNI bindings to libquicproquo_ffi with QpqClient class, Gradle build, and exception hierarchy matching Kotlin SDK. Ruby SDK: FFI gem wrapping libquicproquo_ffi with Client class, block-form auto-disconnect, gemspec for RubyGems publishing, and example script.
This commit is contained in:
23
sdks/ruby/lib/quicproquo.rb
Normal file
23
sdks/ruby/lib/quicproquo.rb
Normal file
@@ -0,0 +1,23 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "quicproquo/ffi_bindings"
|
||||
require_relative "quicproquo/client"
|
||||
require_relative "quicproquo/errors"
|
||||
require_relative "quicproquo/version"
|
||||
|
||||
# Ruby SDK for the quicproquo E2E encrypted messenger.
|
||||
#
|
||||
# Two usage patterns:
|
||||
#
|
||||
# # Block form (auto-disconnect)
|
||||
# QuicProQuo::Client.open("127.0.0.1:5001", ca_cert: "ca.pem") do |client|
|
||||
# client.login("alice", "secret")
|
||||
# client.send("bob", "hello")
|
||||
# end
|
||||
#
|
||||
# # Manual lifecycle
|
||||
# client = QuicProQuo::Client.new("127.0.0.1:5001", ca_cert: "ca.pem")
|
||||
# client.login("alice", "secret")
|
||||
# client.disconnect
|
||||
module QuicProQuo
|
||||
end
|
||||
Reference in New Issue
Block a user