diff --git a/lib/diaspora_federation/web_finger/h_card.rb b/lib/diaspora_federation/web_finger/h_card.rb index 2b566a4..6015c40 100644 --- a/lib/diaspora_federation/web_finger/h_card.rb +++ b/lib/diaspora_federation/web_finger/h_card.rb @@ -17,7 +17,7 @@ module DiasporaFederation # @example Creating a hCard document from account data # hc = HCard.from_profile({ # guid: "0123456789abcdef", - # diaspora_handle: "user@server.example", + # nickname: "user", # full_name: "User Name", # url: "https://server.example/", # photo_full_url: "https://server.example/uploads/f.jpg", @@ -108,7 +108,7 @@ module DiasporaFederation hc = allocate hc.instance_eval { @guid = data[:guid] - @nickname = data[:diaspora_handle].split("@").first + @nickname = data[:nickname] @full_name = data[:full_name] @url = data[:url] @photo_full_url = data[:photo_full_url] @@ -228,12 +228,12 @@ module DiasporaFederation # @param [Hash] data account data # @return [Boolean] validation result def self.account_data_complete?(data) - data.instance_of?(Hash) && data.key?(:guid) && - data.key?(:diaspora_handle) && data.key?(:full_name) && - data.key?(:url) && data.key?(:photo_full_url) && - data.key?(:photo_medium_url) && data.key?(:photo_small_url) && - data.key?(:pubkey) && data.key?(:searchable) && - data.key?(:first_name) && data.key?(:last_name) + data.instance_of?(Hash) && + %i( + guid nickname full_name url + photo_full_url photo_medium_url photo_small_url + pubkey searchable first_name last_name + ).all? {|k| data.key? k } end private_class_method :account_data_complete? diff --git a/lib/diaspora_federation/web_finger/web_finger.rb b/lib/diaspora_federation/web_finger/web_finger.rb index 8b4427c..c28b221 100644 --- a/lib/diaspora_federation/web_finger/web_finger.rb +++ b/lib/diaspora_federation/web_finger/web_finger.rb @@ -181,11 +181,11 @@ module DiasporaFederation # @param [Hash] data account data # @return [Boolean] validation result def self.account_data_complete?(data) - data.instance_of?(Hash) && data.key?(:acct_uri) && - data.key?(:alias_url) && data.key?(:hcard_url) && - data.key?(:seed_url) && data.key?(:guid) && - data.key?(:profile_url) && data.key?(:atom_url) && - data.key?(:salmon_url) && data.key?(:pubkey) + data.instance_of?(Hash) && + %i( + acct_uri alias_url hcard_url seed_url + guid profile_url atom_url salmon_url pubkey + ).all? {|k| data.key? k } end private_class_method :account_data_complete? diff --git a/spec/lib/web_finger/h_card_spec.rb b/spec/lib/web_finger/h_card_spec.rb index 1442aae..d23da90 100644 --- a/spec/lib/web_finger/h_card_spec.rb +++ b/spec/lib/web_finger/h_card_spec.rb @@ -1,7 +1,7 @@ module DiasporaFederation describe WebFinger::HCard do let(:guid) { "abcdef0123456789" } - let(:handle) { "user@pod.example.tld" } + let(:nickname) { "user" } let(:first_name) { "Test" } let(:last_name) { "Testington" } let(:name) { "#{first_name} #{last_name}" } @@ -35,7 +35,7 @@ module DiasporaFederation