Module: XRPC
- Defined in:
- lib/xrpc/client.rb,
lib/xrpc/lexicon.rb,
lib/xrpc/lexicon.rb,
lib/xrpc/version.rb
Defined Under Namespace
Classes: BaseLexicon, Client, Procedure, Query
Constant Summary
collapse
- VERSION =
"0.1.7.2"
Class Method Summary
collapse
Class Method Details
.client(url) ⇒ Object
6
7
8
|
# File 'lib/xrpc/client.rb', line 6
def client(url)
XRPC::Client.new(url)
end
|
.xrpc_object_from_json(json_hash) ⇒ Object
13
14
15
16
17
18
19
20
|
# File 'lib/xrpc/lexicon.rb', line 13
def self.xrpc_object_from_json(json_hash)
json_hash[:id] ? lexicon = json_hash[:id] : lexicon = json_hash["id"]
json_hash[:defs] ? defs = json_hash[:defs] : defs = json_hash["defs"]
defs[:main] ? main_def = defs[:main] : main_def = defs["main"]
main_def[:type] ? type = main_def[:type].to_sym : type = main_def["type"].to_sym
main_def[:parameters] ? args_list = main_def[:parameters][:required] : args_list = main_def["parameters"]["required"]
xrpc_proc(lexicon, type, args_list)
end
|
.xrpc_proc(lexicon, type, args_list, server = "https://bsky.social") ⇒ Object
2
3
4
5
6
7
8
9
10
11
|
# File 'lib/xrpc/lexicon.rb', line 2
def self.xrpc_proc(lexicon, type, args_list, server = "https://bsky.social")
case type
when :query
return XRPC::Query.new(lexicon, args_list, server)
when :procedure
return XRPC::Procedure.new(lexicon, args_list, server)
else
raise ArgumentError, "Invalid type: #{type}. Expected :query or :procedure."
end
end
|