From 30f406de954bac1da5fef7cdd753c0af16f11051 Mon Sep 17 00:00:00 2001 From: Azul Date: Wed, 23 Jan 2013 13:13:41 +0100 Subject: added unit tests for user presenter changed the way the presenter works. Will need functional testing --- users/lib/webfinger/user_presenter.rb | 36 ++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) (limited to 'users/lib/webfinger/user_presenter.rb') diff --git a/users/lib/webfinger/user_presenter.rb b/users/lib/webfinger/user_presenter.rb index 8288bff..41153a8 100644 --- a/users/lib/webfinger/user_presenter.rb +++ b/users/lib/webfinger/user_presenter.rb @@ -1,20 +1,26 @@ class Webfinger::UserPresenter include Rails.application.routes.url_helpers - attr_accessor :subject + attr_accessor :user - def initialize(subject, request) - @subject = subject + def initialize(user, request) + @user = user @request = request end - def email_identifier - "#{@subject.username}@#{@request.host}" + def to_json(options = {}) + { + subject: subject, + aliases: aliases, + links: links + }.to_json(options) end - def key - if @subject.public_key.present? - Base64.encode64(@subject.public_key.to_s) - end + def subject + "acct:#{@user.email_address}" + end + + def aliases + [ user_url(@user, :host => @request.host) ] end def links @@ -23,12 +29,12 @@ class Webfinger::UserPresenter return links end - def to_json(options) - { - subject: "acct:#{email_identifier}", - aliases: [ user_url(@subject, :host => @request.host) ], - links: links - }.to_json(options) + protected + + def key + if @user.public_key.present? + Base64.encode64(@user.public_key.to_s) + end end end -- cgit v1.2.3