You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
636 B
26 lines
636 B
# frozen_string_literal: true |
|
|
|
class OStatus::Activity::Share < OStatus::Activity::Creation |
|
def perform |
|
return if reblog.nil? |
|
|
|
status, just_created = super |
|
NotifyService.new.call(reblog.account, status) if reblog.account.local? && just_created |
|
status |
|
end |
|
|
|
def object |
|
@xml.at_xpath('.//activity:object', activity: OStatus::TagManager::AS_XMLNS) |
|
end |
|
|
|
private |
|
|
|
def reblog |
|
return @reblog if defined? @reblog |
|
|
|
original_status = OStatus::Activity::Remote.new(object).perform |
|
return if original_status.nil? |
|
|
|
@reblog = original_status.reblog? ? original_status.reblog : original_status |
|
end |
|
end
|
|
|