* Remove rabl dependency * Replicate old Oj configurationpull/4/head
@ -0,0 +1,26 @@ | |||||
# frozen_string_literal: true | |||||
class WebfingerSerializer < ActiveModel::Serializer | |||||
include RoutingHelper | |||||
attributes :subject, :aliases, :links | |||||
def subject | |||||
object.to_webfinger_s | |||||
end | |||||
def aliases | |||||
[short_account_url(object), account_url(object)] | |||||
end | |||||
def links | |||||
[ | |||||
{ rel: 'http://webfinger.net/rel/profile-page', type: 'text/html', href: short_account_url(object) }, | |||||
{ rel: 'http://schemas.google.com/g/2010#updates-from', type: 'application/atom+xml', href: account_url(object, format: 'atom') }, | |||||
{ rel: 'self', type: 'application/activity+json', href: account_url(object) }, | |||||
{ rel: 'salmon', href: api_salmon_url(object.id) }, | |||||
{ rel: 'magic-public-key', href: "data:application/magic-public-key,#{object.magic_key}" }, | |||||
{ rel: 'http://ostatus.org/schema/1.0/subscribe', template: "#{authorize_follow_url}?acct={uri}" }, | |||||
] | |||||
end | |||||
end |
@ -1,18 +0,0 @@ | |||||
object @account | |||||
node(:subject) { @canonical_account_uri } | |||||
node(:aliases) do | |||||
[short_account_url(@account), account_url(@account)] | |||||
end | |||||
node(:links) do | |||||
[ | |||||
{ rel: 'http://webfinger.net/rel/profile-page', type: 'text/html', href: short_account_url(@account) }, | |||||
{ rel: 'http://schemas.google.com/g/2010#updates-from', type: 'application/atom+xml', href: account_url(@account, format: 'atom') }, | |||||
{ rel: 'self', type: 'application/activity+json', href: account_url(@account) }, | |||||
{ rel: 'salmon', href: api_salmon_url(@account.id) }, | |||||
{ rel: 'magic-public-key', href: "data:application/magic-public-key,#{@magic_key}" }, | |||||
{ rel: 'http://ostatus.org/schema/1.0/subscribe', template: "#{authorize_follow_url}?acct={uri}" }, | |||||
] | |||||
end |
@ -1,13 +1,13 @@ | |||||
Nokogiri::XML::Builder.new do |xml| | Nokogiri::XML::Builder.new do |xml| | ||||
xml.XRD(xmlns: 'http://docs.oasis-open.org/ns/xri/xrd-1.0') do | xml.XRD(xmlns: 'http://docs.oasis-open.org/ns/xri/xrd-1.0') do | ||||
xml.Subject @canonical_account_uri | |||||
xml.Subject @account.to_webfinger_s | |||||
xml.Alias short_account_url(@account) | xml.Alias short_account_url(@account) | ||||
xml.Alias account_url(@account) | xml.Alias account_url(@account) | ||||
xml.Link(rel: 'http://webfinger.net/rel/profile-page', type: 'text/html', href: short_account_url(@account)) | xml.Link(rel: 'http://webfinger.net/rel/profile-page', type: 'text/html', href: short_account_url(@account)) | ||||
xml.Link(rel: 'http://schemas.google.com/g/2010#updates-from', type: 'application/atom+xml', href: account_url(@account, format: 'atom')) | xml.Link(rel: 'http://schemas.google.com/g/2010#updates-from', type: 'application/atom+xml', href: account_url(@account, format: 'atom')) | ||||
xml.Link(rel: 'self', type: 'application/activity+json', href: account_url(@account)) | xml.Link(rel: 'self', type: 'application/activity+json', href: account_url(@account)) | ||||
xml.Link(rel: 'salmon', href: api_salmon_url(@account.id)) | xml.Link(rel: 'salmon', href: api_salmon_url(@account.id)) | ||||
xml.Link(rel: 'magic-public-key', href: "data:application/magic-public-key,#{@magic_key}") | |||||
xml.Link(rel: 'magic-public-key', href: "data:application/magic-public-key,#{@account.magic_key}") | |||||
xml.Link(rel: 'http://ostatus.org/schema/1.0/subscribe', template: "#{authorize_follow_url}?acct={uri}") | xml.Link(rel: 'http://ostatus.org/schema/1.0/subscribe', template: "#{authorize_follow_url}?acct={uri}") | ||||
end | end | ||||
end.to_xml | end.to_xml |
@ -0,0 +1 @@ | |||||
Oj.default_options = { mode: :compat, time_format: :ruby, use_to_json: true } |
@ -1,7 +0,0 @@ | |||||
Rabl.configure do |config| | |||||
config.json_engine = Oj | |||||
config.cache_all_output = false | |||||
config.cache_sources = Rails.env.production? | |||||
config.include_json_root = false | |||||
config.view_paths = [Rails.root.join('app/views')] | |||||
end |