mirror of https://github.com/tootsuite/mastodon
37 lines
950 B
Ruby
37 lines
950 B
Ruby
module ApplicationHelper
|
|
include RoutingHelper
|
|
|
|
def unique_tag(date, id, type)
|
|
"tag:#{LOCAL_DOMAIN},#{date.strftime('%Y-%m-%d')}:objectId=#{id}:objectType=#{type}"
|
|
end
|
|
|
|
def unique_tag_to_local_id(tag, expected_type)
|
|
matches = Regexp.new("objectId=([\\d]+):objectType=#{expected_type}").match(tag)
|
|
return matches[1] unless matches.nil?
|
|
end
|
|
|
|
def local_id?(id)
|
|
id.start_with?("tag:#{LOCAL_DOMAIN}")
|
|
end
|
|
|
|
def subscription_url(account)
|
|
add_base_url_prefix subscriptions_path(id: account.id, format: '')
|
|
end
|
|
|
|
def salmon_url(account)
|
|
add_base_url_prefix salmon_path(id: account.id, format: '')
|
|
end
|
|
|
|
def profile_url(account)
|
|
account.local? ? super(name: account.username) : account.url
|
|
end
|
|
|
|
def status_url(status)
|
|
status.local? ? super(name: status.account.username, id: status.stream_entry.id) : status.url
|
|
end
|
|
|
|
def add_base_url_prefix(suffix)
|
|
File.join(root_url, "api", suffix)
|
|
end
|
|
end
|