twitter-text 1.2.0 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/Rakefile +1 -1
  2. data/lib/autolink.rb +4 -4
  3. data/lib/regex.rb +2 -2
  4. metadata +3 -3
data/Rakefile CHANGED
@@ -11,7 +11,7 @@ require 'digest'
11
11
 
12
12
  spec = Gem::Specification.new do |s|
13
13
  s.name = "twitter-text"
14
- s.version = "1.2.0"
14
+ s.version = "1.2.1"
15
15
  s.authors = ["Matt Sanford", "Patrick Ewing", "Ben Cherry", "Britt Selvitelle", "Raffi Krikorian"]
16
16
  s.email = ["matt@twitter.com", "patrick.henry.ewing@gmail.com", "bcherry@gmail.com", "bs@brittspace.com", "raffi@twitter.com"]
17
17
  s.homepage = "http://twitter.com"
data/lib/autolink.rb CHANGED
@@ -83,21 +83,21 @@ module Twitter
83
83
  new_text << chunk
84
84
  else
85
85
  new_text << chunk.gsub(Twitter::Regex[:auto_link_usernames_or_lists]) do
86
- before, at, user, slash_listname, after = $1, $2, $3, $4, $5
86
+ before, at, user, slash_listname, after = $1, $2, $3, $4, $'
87
87
  if slash_listname && !options[:suppress_lists]
88
88
  # the link is a list
89
89
  chunk = list = "#{user}#{slash_listname}"
90
90
  chunk = yield(list) if block_given?
91
- "#{before}#{at}<a class=\"#{options[:url_class]} #{options[:list_class]}\" href=\"#{encode(options[:list_url_base])}#{encode(list.downcase)}\"#{extra_html}>#{encode(chunk)}</a>#{after}"
91
+ "#{before}#{at}<a class=\"#{options[:url_class]} #{options[:list_class]}\" href=\"#{encode(options[:list_url_base])}#{encode(list.downcase)}\"#{extra_html}>#{encode(chunk)}</a>"
92
92
  else
93
93
  if after =~ Twitter::Regex[:end_screen_name_match]
94
94
  # Followed by something that means we don't autolink
95
- "#{before}#{at}#{user}#{slash_listname}#{after}"
95
+ "#{before}#{at}#{user}#{slash_listname}"
96
96
  else
97
97
  # this is a screen name
98
98
  chunk = user
99
99
  chunk = yield(chunk) if block_given?
100
- "#{before}#{at}<a class=\"#{options[:url_class]} #{options[:username_class]}\" href=\"#{encode(options[:username_url_base])}#{encode(chunk)}\"#{extra_html}>#{encode(chunk)}</a>#{after}"
100
+ "#{before}#{at}<a class=\"#{options[:url_class]} #{options[:username_class]}\" href=\"#{encode(options[:username_url_base])}#{encode(chunk)}\"#{extra_html}>#{encode(chunk)}</a>"
101
101
  end
102
102
  end
103
103
  end
data/lib/regex.rb CHANGED
@@ -43,12 +43,12 @@ module Twitter
43
43
  LATIN_ACCENTS = [(0xc0..0xd6).to_a, (0xd8..0xf6).to_a, (0xf8..0xff).to_a].flatten.pack('U*').freeze
44
44
  REGEXEN[:latin_accents] = /[#{LATIN_ACCENTS}]+/o
45
45
 
46
- REGEXEN[:end_screen_name_match] = /#{REGEXEN[:at_signs]}|#{REGEXEN[:latin_accents]}/o
46
+ REGEXEN[:end_screen_name_match] = /^#{REGEXEN[:at_signs]}|#{REGEXEN[:latin_accents]}/o
47
47
 
48
48
  # Characters considered valid in a hashtag but not at the beginning, where only a-z and 0-9 are valid.
49
49
  HASHTAG_CHARACTERS = /[a-z0-9_#{LATIN_ACCENTS}]/io
50
50
  REGEXEN[:auto_link_hashtags] = /(^|[^0-9A-Z&\/\?]+)(#|#)([0-9A-Z_]*[A-Z_]+#{HASHTAG_CHARACTERS}*)/io
51
- REGEXEN[:auto_link_usernames_or_lists] = /([^a-zA-Z0-9_]|^|RT:?)([@@]+)([a-zA-Z0-9_]{1,20})(\/[a-zA-Z][a-zA-Z0-9_\-]{0,24})?($|.)/o
51
+ REGEXEN[:auto_link_usernames_or_lists] = /([^a-zA-Z0-9_]|^|RT:?)([@@]+)([a-zA-Z0-9_]{1,20})(\/[a-zA-Z][a-zA-Z0-9_\-]{0,24})?/o
52
52
  REGEXEN[:auto_link_emoticon] = /(8\-\#|8\-E|\+\-\(|\`\@|\`O|\&lt;\|:~\(|\}:o\{|:\-\[|\&gt;o\&lt;|X\-\/|\[:-\]\-I\-|\/\/\/\/Ö\\\\\\\\|\(\|:\|\/\)|∑:\*\)|\( \| \))/
53
53
 
54
54
  # URL related hash regex collection
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: twitter-text
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 29
5
5
  prerelease: false
6
6
  segments:
7
7
  - 1
8
8
  - 2
9
- - 0
10
- version: 1.2.0
9
+ - 1
10
+ version: 1.2.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Matt Sanford