parent
3b0bc18db9
commit
fa33750105
@ -1,4 +1,7 @@ |
||||
class ProfileController < ApplicationController |
||||
def show |
||||
end |
||||
|
||||
def entry |
||||
end |
||||
end |
||||
|
@ -0,0 +1,38 @@ |
||||
class Favourite < ActiveRecord::Base |
||||
belongs_to :account, inverse_of: :favourites |
||||
belongs_to :status, inverse_of: :favourites |
||||
|
||||
has_one :stream_entry, as: :activity |
||||
|
||||
def verb |
||||
:favorite |
||||
end |
||||
|
||||
def title |
||||
"#{self.account.acct} favourited a status by #{self.status.account.acct}" |
||||
end |
||||
|
||||
def content |
||||
title |
||||
end |
||||
|
||||
def object_type |
||||
target.object_type |
||||
end |
||||
|
||||
def target |
||||
self.status |
||||
end |
||||
|
||||
def mentions |
||||
[] |
||||
end |
||||
|
||||
def thread |
||||
target |
||||
end |
||||
|
||||
after_create do |
||||
self.account.stream_entries.create!(activity: self) |
||||
end |
||||
end |
@ -1,37 +1,9 @@ |
||||
Nokogiri::XML::Builder.new do |xml| |
||||
entry(xml, true) do |
||||
unique_id xml, @entry.created_at, @entry.activity_id, @entry.activity_type |
||||
published_at xml, @entry.activity.created_at |
||||
updated_at xml, @entry.activity.updated_at |
||||
title xml, @entry.title |
||||
content xml, @entry.content |
||||
verb xml, @entry.verb |
||||
|
||||
author(xml) do |
||||
object_type xml, :person |
||||
uri xml, profile_url(name: @entry.account.username) |
||||
name xml, @entry.account.username |
||||
summary xml, @entry.account.note |
||||
link_alternate xml, profile_url(name: @entry.account.username) |
||||
portable_contact xml, @entry.account |
||||
end |
||||
|
||||
if @entry.targeted? |
||||
target(xml) do |
||||
object_type xml, @entry.target.object_type |
||||
simple_id xml, @entry.target.uri |
||||
title xml, @entry.target.title |
||||
summary xml, @entry.target.summary |
||||
link_alternate xml, @entry.target.uri |
||||
|
||||
if @entry.target.object_type == :person |
||||
portable_contact xml, @entry.target |
||||
end |
||||
end |
||||
else |
||||
object_type xml, @entry.object_type |
||||
include_author xml, @entry.account |
||||
end |
||||
|
||||
link_self xml, atom_entry_url(id: @entry.id) |
||||
include_entry xml, @entry |
||||
end |
||||
end |
||||
end.to_xml |
||||
|
@ -0,0 +1,6 @@ |
||||
class AddMetadataToStatuses < ActiveRecord::Migration |
||||
def change |
||||
add_column :statuses, :in_reply_to_id, :integer, null: true |
||||
add_column :statuses, :reblog_of_id, :integer, null: true |
||||
end |
||||
end |
@ -0,0 +1,5 @@ |
||||
class MakeUrisNullableInStatuses < ActiveRecord::Migration |
||||
def change |
||||
change_column :statuses, :uri, :string, null: true, default: nil |
||||
end |
||||
end |
@ -0,0 +1,5 @@ |
||||
class AddUrlToStatuses < ActiveRecord::Migration |
||||
def change |
||||
add_column :statuses, :url, :string, null: true, default: nil |
||||
end |
||||
end |
@ -0,0 +1,5 @@ |
||||
class AddUrlToAccounts < ActiveRecord::Migration |
||||
def change |
||||
add_column :accounts, :url, :string, null: true, default: nil |
||||
end |
||||
end |
@ -0,0 +1,12 @@ |
||||
class CreateFavourites < ActiveRecord::Migration |
||||
def change |
||||
create_table :favourites do |t| |
||||
t.integer :account_id, null: false |
||||
t.integer :status_id, null: false |
||||
|
||||
t.timestamps null: false |
||||
end |
||||
|
||||
add_index :favourites, [:account_id, :status_id], unique: true |
||||
end |
||||
end |
@ -0,0 +1,5 @@ |
||||
require 'rails_helper' |
||||
|
||||
RSpec.describe Favourite, type: :model do |
||||
pending "add some examples to (or delete) #{__FILE__}" |
||||
end |
Loading…
Reference in new issue