id.start_with?("tag:#{Rails.configuration.x.local_domain}")
end
+ def content_for_status(actual_status)
+ if actual_status.local?
+ linkify(actual_status)
+ else
+ sanitize(actual_status.content, tags: %w(a br p), attributes: %w(href rel))
+ end
+ end
+
def linkify(status)
mention_hash = {}
status.mentions.each { |m| mention_hash[m.acct] = m }
def conditionally_formatted(activity)
if activity.is_a?(Status)
- if activity.reblog? && activity.reblog.local?
- linkify(activity.reblog)
- elsif !activity.reblog? && activity.local?
- linkify(activity)
- else
- activity.content
- end
+ content_for_status(activity.reblog? ? activity.reblog : activity)
elsif activity.nil?
nil
else
def favourited_by_me_class(status)
user_signed_in? && current_user.account.favourited?(status) ? 'favourited' : ''
end
-
- def content_for_status(actual_status)
- if actual_status.local?
- linkify(actual_status)
- else
- sanitize(actual_status.content, tags: %w(a br p), attributes: %w(href rel))
- end
- end
end
end
def mentions
- m = []
-
- m << thread.account if reply?
- m << reblog.account if reblog?
-
- unless reblog?
- self.text.scan(Account::MENTION_RE).each do |match|
- uri = match.first
- username, domain = uri.split('@')
- account = Account.find_by(username: username, domain: domain)
-
- m << account unless account.nil?
- end
+ if @mentions.nil?
+ @mentions = []
+ @mentions << thread.account if reply?
+ @mentions << reblog.account if reblog?
+ self.mentioned_accounts.each { |mention| @mentions << mention.account } unless reblog?
+ @mentions = @mentions.uniq
end
- m.uniq
+ @mentions
end
def ancestors
attributes :id, :created_at, :in_reply_to_id
node(:uri) { |status| uri_for_target(status) }
-node(:content) { |status| status.local? ? linkify(status) : status.content }
+node(:content) { |status| content_for_status(status) }
node(:url) { |status| url_for_target(status) }
node(:reblogs_count) { |status| status.reblogs_count }
node(:favourites_count) { |status| status.favourites_count }
end
it 'returns mentioned accounts' do
- subject.text = 'Hello @bob!'
+ subject.mentioned_accounts.create!(account: bob)
expect(subject.mentions).to include bob
end