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