From de48efcf2a6b5fb096fd209b1efea482f743c19c Mon Sep 17 00:00:00 2001 From: Azul Date: Tue, 22 Jan 2013 12:02:18 +0100 Subject: some basic webfinger routes, controller, presenters, views --- users/lib/webfinger/host_meta_presenter.rb | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 users/lib/webfinger/host_meta_presenter.rb (limited to 'users/lib/webfinger/host_meta_presenter.rb') diff --git a/users/lib/webfinger/host_meta_presenter.rb b/users/lib/webfinger/host_meta_presenter.rb new file mode 100644 index 0000000..3901a28 --- /dev/null +++ b/users/lib/webfinger/host_meta_presenter.rb @@ -0,0 +1,17 @@ +require 'uri' + +class Webfinger::HostMetaPresenter + def initialize(request) + @request = request + end + + def subject + url = URI.parse(@request.url) + url.path = '' + url.to_s + end + + def webfinger_template(path = 'webfinger', query_param='q') + "#{subject}/#{path}?#{query_param}={uri}" + end +end -- cgit v1.2.3 From 40edf176142bd6092f13bd9f9fb72a2c69d4b052 Mon Sep 17 00:00:00 2001 From: Azul Date: Tue, 22 Jan 2013 16:45:01 +0100 Subject: fixing xml and adding json representation for host_meta --- users/lib/webfinger/host_meta_presenter.rb | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'users/lib/webfinger/host_meta_presenter.rb') diff --git a/users/lib/webfinger/host_meta_presenter.rb b/users/lib/webfinger/host_meta_presenter.rb index 3901a28..b48729c 100644 --- a/users/lib/webfinger/host_meta_presenter.rb +++ b/users/lib/webfinger/host_meta_presenter.rb @@ -14,4 +14,13 @@ class Webfinger::HostMetaPresenter def webfinger_template(path = 'webfinger', query_param='q') "#{subject}/#{path}?#{query_param}={uri}" end + + def to_json(options) + { + subject: subject, + links: { + lrdd: { type: 'application/xrd+xml', template: webfinger_template } + } + }.to_json(options) + end end -- cgit v1.2.3 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/host_meta_presenter.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'users/lib/webfinger/host_meta_presenter.rb') diff --git a/users/lib/webfinger/host_meta_presenter.rb b/users/lib/webfinger/host_meta_presenter.rb index b48729c..6a6235f 100644 --- a/users/lib/webfinger/host_meta_presenter.rb +++ b/users/lib/webfinger/host_meta_presenter.rb @@ -15,7 +15,7 @@ class Webfinger::HostMetaPresenter "#{subject}/#{path}?#{query_param}={uri}" end - def to_json(options) + def to_json(options = {}) { subject: subject, links: { -- cgit v1.2.3 From efb9f511f426b9d6f3af63608e77f80c4b823fb0 Mon Sep 17 00:00:00 2001 From: Azul Date: Wed, 23 Jan 2013 15:52:38 +0100 Subject: added a small test for HostMetaPresenter and using links hash in xml view --- users/lib/webfinger/host_meta_presenter.rb | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'users/lib/webfinger/host_meta_presenter.rb') diff --git a/users/lib/webfinger/host_meta_presenter.rb b/users/lib/webfinger/host_meta_presenter.rb index 6a6235f..84ab7a9 100644 --- a/users/lib/webfinger/host_meta_presenter.rb +++ b/users/lib/webfinger/host_meta_presenter.rb @@ -5,22 +5,26 @@ class Webfinger::HostMetaPresenter @request = request end + def to_json(options = {}) + { + subject: subject, + links: links + }.to_json(options) + end + def subject url = URI.parse(@request.url) url.path = '' url.to_s end - def webfinger_template(path = 'webfinger', query_param='q') - "#{subject}/#{path}?#{query_param}={uri}" + def links + { lrdd: { type: 'application/xrd+xml', template: webfinger_template } } end - def to_json(options = {}) - { - subject: subject, - links: { - lrdd: { type: 'application/xrd+xml', template: webfinger_template } - } - }.to_json(options) + protected + + def webfinger_template(path = 'webfinger', query_param='q') + "#{subject}/#{path}?#{query_param}={uri}" end end -- cgit v1.2.3