lib/openname.rb in openname-0.4.5 vs lib/openname.rb in openname-0.4.6

- old
+ new

@@ -14,10 +14,12 @@ # https://github.com/openname/openname-specifications#usernames OPENNAME_REGEX = /^[a-z0-9_]{1,60}$/ @@endpoint = nil + @@suffix = ".json" + ## # Current endpoint used by the library def self.endpoint if @@endpoint.nil? return DEFAULT_ENDPOINT @@ -25,16 +27,35 @@ return @@endpoint end end ## + # Set suffix appended to openname to +suffix+ + # if +suffix+ is +nil+, no suffix will be appended + def self.suffix=(suffix) + @@suffix = suffix + end + + ## + # Suffix appended to openname on each endpoint request + def self.suffix + if @@suffix.nil? + return "" + else + return @@suffix + end + end + + ## # Set endpoint to +url+ # if +url+ is +nil+, +DEFAULT_ENDPOINT+ is used as the endpoint def self.endpoint=(url) @@endpoint = url end + + ## # Check if the given +openname+ is in proper format # Does not downcase input def self.valid?(openname) Openname::OPENNAME_REGEX.match(openname).nil? ? false : true @@ -42,11 +63,11 @@ ## # Retrieve JSON data stored in Openname record def self.get_json(openname) raise ArgumentError.new("#{openname} is not a valid Openname") if !self.valid?(openname) - uri = URI(self.endpoint + "/#{openname.downcase}.json") + uri = URI(self.endpoint + "/#{openname.downcase}#{self.suffix}") http = Net::HTTP.new(uri.host,uri.port) http.use_ssl = uri.scheme == "https" ? true : false req = Net::HTTP::Get.new(uri.path, {'User-Agent' => USERAGENT}) res = http.request(req) case res.code.to_s @@ -122,10 +143,10 @@ @facebook_username = json["facebook"]["username"] if json["facebook"] @twitter_username = json["twitter"]["username"] if json["twitter"] @instagram_username = json["instagram"]["username"] if json["instagram"] @linkedin_url = json["linkedin"]["url"] if json["linkedin"] @bitcoin_address = json["bitcoin"]["address"] if json["bitcoin"] - @bitmessage_address = json["bitmessage"]["username"] if json["bitmessage"] + @bitmessage_address = json["bitmessage"]["address"] if json["bitmessage"] @bitcoinotc_username = json["bitcoinotc"]["username"] if json["bitcoinotc"] @pgp_fingerprint = json["pgp"]["fingerprint"] if json["pgp"] @pgp_url = json["pgp"]["url"] if json["pgp"] @schema_version = json["v"] @orgs = parse_orgs(json["orgs"])