forked from cybrespace/mastodon
		
	Improve @mention regex
This commit is contained in:
		
							parent
							
								
									262adb9791
								
							
						
					
					
						commit
						7bb28bf780
					
				
					 3 changed files with 6 additions and 2 deletions
				
			
		| 
						 | 
					@ -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…
	
	Add table
		
		Reference in a new issue