forked from fedi/mastodon
Improve @mention regex
This commit is contained in:
parent
262adb9791
commit
7bb28bf780
|
@ -1,7 +1,7 @@
|
||||||
class Account < ApplicationRecord
|
class Account < ApplicationRecord
|
||||||
include Targetable
|
include Targetable
|
||||||
|
|
||||||
MENTION_RE = /(?:^|\s|\.|>)@([a-z0-9_]+(?:@[a-z0-9\.\-]+)?)/i
|
MENTION_RE = /(?:^|[\s\.>*+])@([a-z0-9_]+(?:@[a-z0-9\.\-]+)?)/i
|
||||||
IMAGE_MIME_TYPES = ['image/jpeg', 'image/png', 'image/gif'].freeze
|
IMAGE_MIME_TYPES = ['image/jpeg', 'image/png', 'image/gif'].freeze
|
||||||
|
|
||||||
# Local users
|
# Local users
|
||||||
|
|
|
@ -4,7 +4,7 @@ class ProcessHashtagsService < BaseService
|
||||||
tags = status.text.scan(Tag::HASHTAG_RE).map(&:first)
|
tags = status.text.scan(Tag::HASHTAG_RE).map(&:first)
|
||||||
end
|
end
|
||||||
|
|
||||||
tags.map(&:downcase).each do |tag|
|
tags.map(&:downcase).uniq.each do |tag|
|
||||||
status.tags << Tag.where(name: tag).first_or_initialize(name: tag)
|
status.tags << Tag.where(name: tag).first_or_initialize(name: tag)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -3,6 +3,10 @@ require 'rails_helper'
|
||||||
RSpec.describe TagsController, type: :controller do
|
RSpec.describe TagsController, type: :controller do
|
||||||
|
|
||||||
describe 'GET #show' do
|
describe 'GET #show' do
|
||||||
|
before do
|
||||||
|
Fabricate(:tag, name: 'test')
|
||||||
|
end
|
||||||
|
|
||||||
it 'returns http success' do
|
it 'returns http success' do
|
||||||
get :show, params: { id: 'test' }
|
get :show, params: { id: 'test' }
|
||||||
expect(response).to have_http_status(:success)
|
expect(response).to have_http_status(:success)
|
||||||
|
|
Loading…
Reference in a new issue