From 96af095d846bf4a5986451d6d69da5ab5843eee7 Mon Sep 17 00:00:00 2001 From: Benjamin Neff Date: Tue, 16 Jun 2015 02:00:10 +0200 Subject: [PATCH] fix webfinger using the configured class ... --- .../diaspora_federation/webfinger_controller.rb | 8 +++++++- lib/diaspora_federation.rb | 2 +- test/dummy/config/initializers/diaspora_federation.rb | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/app/controllers/diaspora_federation/webfinger_controller.rb b/app/controllers/diaspora_federation/webfinger_controller.rb index a8f217c..56ac430 100644 --- a/app/controllers/diaspora_federation/webfinger_controller.rb +++ b/app/controllers/diaspora_federation/webfinger_controller.rb @@ -9,12 +9,18 @@ module DiasporaFederation ## # this is the pre RFC 7033 webfinger def legacy_webfinger - @person = Person.find_local_by_diaspora_handle(params[:q].strip.downcase.gsub("acct:", "")) if params[:q] + @person = find_person(params[:q]) if params[:q] return render nothing: true, status: 404 if @person.nil? logger.info "webfinger profile request for: #{@person.diaspora_handle}" render "webfinger", content_type: "application/xrd+xml" end + + private + + def find_person(query) + DiasporaFederation.person_class.find_local_by_diaspora_handle(query.strip.downcase.gsub("acct:", "")) + end end end diff --git a/lib/diaspora_federation.rb b/lib/diaspora_federation.rb index 04934e1..80dd47f 100644 --- a/lib/diaspora_federation.rb +++ b/lib/diaspora_federation.rb @@ -20,7 +20,7 @@ module DiasporaFederation # the class to use as person. # # Example: - # config.person_class = Person.class.to_s + # config.person_class = Person.to_s attr_accessor :person_class def person_class const_get(@person_class) diff --git a/test/dummy/config/initializers/diaspora_federation.rb b/test/dummy/config/initializers/diaspora_federation.rb index 5d67288..fa3b1f6 100644 --- a/test/dummy/config/initializers/diaspora_federation.rb +++ b/test/dummy/config/initializers/diaspora_federation.rb @@ -4,5 +4,5 @@ DiasporaFederation.configure do |config| config.server_uri = URI("http://localhost:3000/") # the class to be used for a person - config.person_class = Person.class.to_s + config.person_class = Person.to_s end