Improve @mention regex

This commit is contained in:
Eugen Rochko 2016-11-05 22:09:51 +01:00
parent 262adb9791
commit 7bb28bf780
3 changed files with 6 additions and 2 deletions

View file

@ -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

View file

@ -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

View file

@ -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)