A library for handling DID identifiers used in Bluesky AT Protocol

add resolved_by field to the DID

+6 -4
+6 -4
lib/didkit/did.rb
··· 12 domain = handle.gsub(/^@/, '') 13 14 if dns_did = resolve_handle_by_dns(domain) 15 - DID.new(dns_did) 16 elsif http_did = resolve_handle_by_well_known(domain) 17 - DID.new(http_did) 18 else 19 nil 20 end ··· 51 nil 52 end 53 54 - attr_reader :type 55 56 - def initialize(did) 57 if did =~ /^did\:(\w+)\:/ 58 @did = did 59 @type = $1.to_sym ··· 64 if @type != :plc && @type != :web 65 raise DIDError.new("Unrecognized DID type: #{@type}") 66 end 67 end 68 69 def to_s
··· 12 domain = handle.gsub(/^@/, '') 13 14 if dns_did = resolve_handle_by_dns(domain) 15 + DID.new(dns_did, :dns) 16 elsif http_did = resolve_handle_by_well_known(domain) 17 + DID.new(http_did, :http) 18 else 19 nil 20 end ··· 51 nil 52 end 53 54 + attr_reader :type, :resolved_by 55 56 + def initialize(did, resolved_by = nil) 57 if did =~ /^did\:(\w+)\:/ 58 @did = did 59 @type = $1.to_sym ··· 64 if @type != :plc && @type != :web 65 raise DIDError.new("Unrecognized DID type: #{@type}") 66 end 67 + 68 + @resolved_by = resolved_by 69 end 70 71 def to_s