1
0
mirror of https://github.com/mastodon/mastodon synced 2024-12-16 15:48:17 +09:00
mastodon/app/views/atom/user_stream.xml.ruby
2016-02-23 13:08:01 +01:00

51 lines
1.8 KiB
Ruby

Nokogiri::XML::Builder.new do |xml|
feed(xml) do
simple_id xml, atom_user_stream_url(id: @account.id)
title xml, @account.display_name
subtitle xml, @account.note
updated_at xml, stream_updated_at
author(xml) do
object_type xml, :person
uri xml, profile_url(name: @account.username)
name xml, @account.username
summary xml, @account.note
link_alternate xml, profile_url(name: @account.username)
portable_contact xml, @account
end
link_alternate xml, profile_url(name: @account.username)
link_self xml, atom_user_stream_url(id: @account.id)
link_hub xml, HUB_URL
link_salmon xml, salmon_url(@account)
@account.stream_entries.order('id desc').each do |stream_entry|
entry(xml, false) do
unique_id xml, stream_entry.created_at, stream_entry.activity_id, stream_entry.activity_type
published_at xml, stream_entry.activity.created_at
updated_at xml, stream_entry.activity.updated_at
title xml, stream_entry.title
content xml, stream_entry.content
verb xml, stream_entry.verb
link_self xml, atom_entry_url(id: stream_entry.id)
if stream_entry.targeted?
target(xml) do
object_type xml, stream_entry.target.object_type
simple_id xml, stream_entry.target.uri
title xml, stream_entry.target.title
summary xml, stream_entry.target.summary
link_alternate xml, stream_entry.target.uri
if stream_entry.target.object_type == :person
portable_contact xml, stream_entry.target
end
end
else
object_type xml, stream_entry.object_type
end
end
end
end
end.to_xml